Сведения о пользовательских рабочих процессах
Пользовательские рабочие процессы позволяют создавать сайты GitHub Pages с помощью GitHub Actions. Вы по-прежнему можете выбрать ветвь, используемую с помощью файла рабочего процесса, но вы можете сделать гораздо больше с использованием пользовательских рабочих процессов. Чтобы начать использование пользовательских рабочих процессов, необходимо сначала включить их для текущего репозитория. Дополнительные сведения см. в разделе AUTOTITLE.
Настройка действия
GitHub Actions позволяет использовать GitHub Pages через действие, которое также позволяет собирать различные метаданные о веб-сайте. Дополнительные сведения см. в описании действия .
Чтобы использовать действие, поместите этот фрагмент в нужный рабочий процесс.
- name: Configure GitHub Pages
uses: actions/configure-pages@v5
Это действие помогает поддерживать развертывание от любого генератора статических сайтов до GitHub Pages. Чтобы сделать этот процесс менее повторяющимся, можно использовать шаблоны рабочих процессов для некоторых наиболее широко используемых статических генераторов сайтов. Дополнительные сведения см. в разделе AUTOTITLE.
Настройка действия
Действия позволяют упаковывать и отправлять артефакты. Артефакт GitHub Pages должен быть сжатым архивом, содержащим один файл. Файл должен быть размером до 10 ГБ и не должен содержать символьные или жесткие ссылки. Дополнительные сведения см. в описании действия .
Чтобы использовать действие в текущем рабочем процессе, введите этот фрагмент кода в раздел .
- name: Upload GitHub Pages artifact
uses: actions/upload-pages-artifact@v2
Развертывание артефактов GitHub Pages
Действие обрабатывает необходимую настройку для развертывания артефактов. Чтобы обеспечить правильную функциональность, необходимо выполнить следующие требования:
- Задание должно иметь минимальное количество разрешений и разрешений.
- Параметр должен быть задан на шаге сборки. Если этот параметр не задан, это может привести к независимому развертыванию, которое постоянно выполняет поиск артефакта, который не был создан.
- Необходимо установить для применения правил защиты филиалов и развертываний. Среда по умолчанию .
- Чтобы указать URL-адрес страницы в качестве выходных данных, используйте поле.
Дополнительные сведения см. в описании действия .
# ...
jobs:
deploy:
permissions:
contents: read
pages: write
id-token: write
runs-on: ubuntu-latest
needs: jekyll-build
environment:
name: github-pages
url: ${{steps.deployment.outputs.page_url}}
steps:
- name: Deploy artifact
id: deployment
uses: actions/deploy-pages@v3
# ...
Связывание отдельных заданий сборки и развертывания
Вы можете связать свои задания в одном файле рабочего процесса, устраняя необходимость создания двух отдельных файлов для получения одного результата. Чтобы приступить к работе с файлом рабочего процесса, в разделе можно определить и задание для выполнения заданий.
# ...
jobs:
# Build job
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v5
- name: Setup Pages
id: pages
uses: actions/configure-pages@v5
- name: Build with Jekyll
uses: actions/jekyll-build-pages@v1
with:
source: ./
destination: ./_site
- name: Upload artifact
uses: actions/upload-pages-artifact@v2
# Deployment job
deploy:
environment:
name: github-pages
url: ${{steps.deployment.outputs.page_url}}
runs-on: ubuntu-latest
needs: build
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v3
# ...
В некоторых случаях можно объединить все в одно задание, особенно если для процесса сборки нет необходимости. Следовательно, вы будете сосредоточиться исключительно на шаге развертывания.
# ...
jobs:
# Single deploy job no building
deploy:
environment:
name: github-pages
url: ${{steps.deployment.outputs.page_url}}
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v5
- name: Setup Pages
uses: actions/configure-pages@v5
- name: Upload Artifact
uses: actions/upload-pages-artifact@v2
with:
# upload entire directory
path: '.'
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v3
# ...
Вы можете определить задания, которые будут выполняться на разных запусках, последовательно или параллельно. Дополнительные сведения см. в разделе AUTOTITLE.