Skip to main content
Мы публикуем частые обновления нашей документации, и перевод этой страницы может все еще выполняться. Актуальные сведения см. в документации на английском языке.

Поддержка этой версии GitHub Enterprise была прекращена 2023-01-18. Исправления выпускаться не будут даже при критических проблемах безопасности. Для повышения производительности, укрепления безопасности и новых функций установите последнюю версию GitHub Enterprise. Чтобы получить справку по обновлению, обратитесь в службу поддержки GitHub Enterprise.

Ключевые функции действий GitHub

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

Примечание. В GitHub Enterprise Server в настоящее время не поддерживаются средства выполнения тестов, размещенные в GitHub. Дополнительные сведения о планируемой поддержке в будущем см. в GitHub public roadmap.

Обзор

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

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

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

Вы можете использовать действия для выполнения скриптов и команд оболочки, которые затем выполняются в назначенном средстве выполнения тестов. В этом примере показано, как действие может использовать ключевое слово 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

Дополнительные сведения см. в статье Синтаксис рабочего процесса для 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@v2
        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@v2
        with:
          name: output-log-file

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

Дополнительные сведения об артефактах см. в статье Сохранение данных рабочего процесса с помощью артефактов.

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

Дополнительные сведения о GitHub Actions см. в статье Управление сложными рабочими процессами.