사이트맵 생성 작업
12206 단어 actionshackathon
내 워크플로
웹 개발을 좋아하지 않는 사람으로서, 내 개인 웹사이트의 유지 관리의 일부를 자동화하는 것은 나에게 큰 장점입니다. 특히 콘텐츠에 중요하지 않지만 잠재적으로 검색 엔진이 결정하는 데 유용한 사이트맵과 같은 것 사이트의 어느 부분을 더 자주 크롤링해야 하는지 콘텐츠를 Github 페이지에 푸시하기 전에 내 웹사이트에 콘텐츠를 추가하거나 업데이트할 때 로컬에서 실행할 스크립트를 사용하고 있었습니다.
Python에서 내 사이트맵 생성기를 Github Action, generate-sitemap 으로 다시 구현하기로 결정했습니다. 이 작업은 다른 사람들에게 유용한 경우를 대비하여 Github Marketplace에서도 공유했습니다. 위에 링크된 리포지토리의 README에서 샘플 워크플로와 함께 사용 가능한 입력 및 출력에 대한 전체 세부 정보를 찾을 수 있습니다.
제출 카테고리:
유지 보수 필수품
Yaml 파일 또는 코드 링크
다음은 내 generate-sitemap 작업을 다른 작업과 결합하는 기본 예제 워크플로 템플릿입니다. 콘텐츠가 리포지토리로 푸시되면 generate-sitemap은 마지막 커밋 날짜를 사용하여 각 페이지가 마지막으로 수정된 시간을 확인하고 noindex 지시문이 있는 html 파일을 건너뛰고 xml 사이트맵을 출력하여 디렉터리 구조를 탐색합니다. 사이트맵이 변경된 경우 다른 작업을 사용하여 풀 요청을 생성합니다.
name: Generate xml sitemap
on:
push:
branches:
- master
jobs:
sitemap_job:
runs-on: ubuntu-latest
name: Generate a sitemap
steps:
- name: Checkout the repo
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Generate the sitemap
id: sitemap
uses: cicirello/[email protected]
with:
base-url-path: https://THE.URL.TO.YOUR.PAGE/
- name: Create Pull Request
uses: peter-evans/create-pull-request@v3
with:
title: "Automated sitemap update"
body: >
Sitemap updated by the [generate-sitemap](https://github.com/cicirello/generate-sitemap)
GitHub action. Automated pull-request generated by the
[create-pull-request](https://github.com/peter-evans/create-pull-request) GitHub action.
다음은 사이트맵 생성 작업을 사용하는 몇 가지 구체적인 예제 워크플로입니다.
Chips-n-Salsa library에 대한 문서는 해당 저장소의 문서 디렉토리에서 유지 관리됩니다. This workflow은 웹사이트가 리포지토리의 루트에 있지 않은 경우와 같은 경우와 관련된 입력의 예를 제공합니다.
name: Generate API sitemap
on:
push:
branches:
- development
jobs:
sitemap_job:
runs-on: ubuntu-latest
name: Generate a sitemap
steps:
- name: Checkout the repo
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Generate the sitemap
id: sitemap
uses: cicirello/[email protected]
with:
base-url-path: https://chips-n-salsa.cicirello.org/
path-to-root: docs
- name: Output stats
run: |
echo "sitemap-path = ${{ steps.sitemap.outputs.sitemap-path }}"
echo "url-count = ${{ steps.sitemap.outputs.url-count }}"
echo "excluded-count = ${{ steps.sitemap.outputs.excluded-count }}"
- name: Create Pull Request
uses: peter-evans/[email protected]
with:
title: "Automated sitemap update"
body: >
Sitemap was updated by [generate-sitemap](https://github.com/cicirello/generate-sitemap)
GitHub action. Automated pull-request generated by
[create-pull-request](https://github.com/peter-evans/create-pull-request) GitHub action.
commit-message: "[generate-sitemap] [create-pull-request] automated change."
delete-branch: true
나는 또한 원래 의도였던 내 personal website 에 사용하고 있으며 this workflow 활용합니다.
name: Generate sitemap
on:
push:
branches:
- development
jobs:
sitemap_job:
runs-on: ubuntu-latest
name: Generate a sitemap
steps:
- name: Checkout the repo
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Generate the sitemap
id: sitemap
uses: cicirello/[email protected]
with:
base-url-path: https://www.cicirello.org/
- name: Output stats
run: |
echo "sitemap-path = ${{ steps.sitemap.outputs.sitemap-path }}"
echo "url-count = ${{ steps.sitemap.outputs.url-count }}"
echo "excluded-count = ${{ steps.sitemap.outputs.excluded-count }}"
- name: Create Pull Request
uses: peter-evans/[email protected]
with:
title: "Automated sitemap update"
body: >
Sitemap was updated by [generate-sitemap](https://github.com/cicirello/generate-sitemap)
GitHub action. Automated pull-request generated by
[create-pull-request](https://github.com/peter-evans/create-pull-request) GitHub action.
commit-message: "[generate-sitemap] [create-pull-request] automated change."
delete-branch: true
추가 리소스/정보
현재 이 워크플로와 generate-sitemap 작업을 사용하고 있는 것으로 알고 있는 유일한 오픈 소스 프로젝트는 내 개인 웹 사이트 외에 두 개의 프로젝트(문서 웹 사이트 유지 관리용)입니다. 그 두 프로젝트는 다음과 같습니다.
Reference
이 문제에 관하여(사이트맵 생성 작업), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/cicirello/generate-sitemap-action-4pb3텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)