Skip to main content
We publish frequent updates to our documentation, and translation of this page may still be in progress. For the most current information, please visit the English documentation.

Essential features of GitHub Actions

GitHub Actions are designed to help you build robust and dynamic automations. This guide will show you how to craft GitHub Actions workflows that include environment variables, customized scripts, and more.

Обзор

GitHub Actions позволяют настраивать рабочие процессы в соответствии с уникальными потребностями приложения и команды. Их этого руководства вы узнаете о базовых методах настройки, таких как применение переменных, выполнение сценариев и совместное использование несколькими заданиями данных и артефактов.

Использование переменных в рабочих процессах

GitHub Actions включают переменные среды по умолчанию для каждого выполнения рабочего процесса. При необходимости применять пользовательские переменные среды их можно задать в файле рабочего процесса YAML. В этом примере показано, как создать пользовательские переменные с именами POSTGRES_HOST и POSTGRES_PORT. Эти переменные затем будут доступны для сценария node client.js.

jobs:
  example-job:
      steps:
        - name: Connect to PostgreSQL
          run: node client.js
          env:
            POSTGRES_HOST: postgres
            POSTGRES_PORT: 5432

Дополнительные сведения см. в разделе Variables.

Добавление сценариев в рабочий процесс

Вы можете использовать действия для выполнения скриптов и команд оболочки, которые затем выполняются в назначенном средстве выполнения тестов. В этом примере показано, как действие может использовать ключевое слово run для выполнения npm install -g bats в средстве выполнения тестов.

jobs:
  example-job:
    steps:
      - run: npm install -g bats

Например, чтобы выполнить сценарий в качестве действия, можно сохранить сценарий в репозитории и указать путь и тип оболочки.

jobs:
  example-job:
    steps:
      - name: Run build script
        run: ./.github/scripts/build.sh
        shell: bash

Дополнительные сведения см. в разделе Workflow syntax for GitHub Actions.

Общий доступ к данным для разных заданий

Если задание создает файлы, которыми вы хотите поделиться с другим заданием в том же рабочем процессе или хотите сохранить файлы для последующей ссылки, их можно сохранить как артефакты в GitHub. Артефакты — это файлы, созданные при сборке и тестировании кода. Например, артефактами могут быть двоичные файлы или файлы пакетов, результаты тестов, снимки экрана или файлы журналов. Артефакты связаны с выполнением рабочего процесса, в котором они были созданы, и могут использоваться другим заданием. Все действия и рабочие процессы, вызываемые в рамках выполнения, имеют доступ на запись к артефактам этого запуска.

Например, можно создать файл, а затем отправить его как артефакт.

jobs:
  example-job:
    name: Save output
    steps:
      - shell: bash
        run: |
          expr 1 + 1 > output.log
      - name: Upload output file
        uses: actions/upload-artifact@v3
        with:
          name: output-log-file
          path: output.log

Чтобы скачать артефакт из отдельного выполнения рабочего процесса, используйте действие actions/download-artifact. Например, можно скачать артефакт с именем output-log-file.

jobs:
  example-job:
    steps:
      - name: Download a single artifact
        uses: actions/download-artifact@v3
        with:
          name: output-log-file

Для скачивания артефакта из того же выполнения рабочего процесса задание скачивания должно указывать needs: upload-job-name, чтобы оно не запускалось до завершения задания отправки.

Дополнительные сведения об артефактах см. в разделе Storing workflow data as artifacts.

Дальнейшие действия

Чтобы продолжить изучение GitHub Actions, см. раздел About workflows.