Что представляют собой новые действия GitHub?Используйте их для автоматического тестирования?

GitHub

обмен опытом

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

что это такое?

ЯвляетсябесплатноКонтейнер операционной системы (Linux/Windows/macOS), мы можем позволить ему предварительно установить среду разработки (node/php/python...).Примечание:В следующей статье предполагается, что мы выбралиноды линукссервер.

Какая польза?

Мы можем загружать код (Git push), а затем выполнил его nodejs, если есть тестовый скрипт, который мы пишем код, то он даст нам полную реализацию значка обратно к записи Commite Github, как показано ниже:

Если есть ошибка в выполнении кода, он сообщиткрасныйзначок «х».

как использовать?

Войдите на страницу действий

Теперь у любого склада есть еще одинactionКнопка, как показано:

Выберите нужную среду

Первая запись позволит нам выбрать среду разработки, здесь я выбираю nodejs, нажимаю соответствующую кнопку «Настроить этот рабочий процесс», как показано на рисунке:

сказать действие, что вы хотите сделать

После нажатия мы входим в интерфейс редактирования, здесь мы хотимсказать "действию", что он собирается делать, как показано на рисунке:

Если вы посмотрите на это внимательно, вы обнаружите, что этот интерфейс редактирования соответствует файлу, и у нас есть «.github / Workflows / nodejs.yml» в нашем корневом каталоге, мыactionНастройки хранятся здесь, в следующий раз, когда вы измените наше прямое редактирование этого файла.

поясните конфигурационный файл

name: Node CI

on: [push]

jobs:
  build:

    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@master
    - name: Use Node.js 10.x
      uses: actions/setup-node@v1
    - name: test
      run: |
        npm i
        npm run test:rules

name

Отображать заголовок, отображаемый во время выполнения, не имеет особого смысла.

on

ВидетьonПросто подумайте о триггере события, да, он может зарегистрироватьсяМониторинг действий git, такие как мониторинг push/pull_request склада и другие действия, если вы хотите узнать больше об объяснении действий, см.Документация

Например, чтобы настроить мониторинг нескольких действий:

on: [push, pull_request]

Вы также можете отслеживать ветку

on:
  push:
    branches:
    - develop

jobs

Это основная функция, и здесь мы должны сказатьactionделать что,

jobs.id

под этим"build"Поле можно временно понимать как идентификатор. Мы можем изменить его на другие имена, такие как «тест». Если есть несколько заданий, несколько заданий могут выполняться параллельно, но идентификаторы не могут быть одинаковыми.Примечание:Есть документneedsПоле можно поставить в зависимость от исполнения, я пока не практиковал, если много кто это читает, изучу и напишу второе дополнение 😋)

jobs.id.run-on

Указывает, что работает операционная система,ubuntu-latestaction

  • ubuntu-latest, ubuntu-18.04, or ubuntu-16.04
  • windows-latest, windows-2019, or windows-2016
  • macOS-latest or macOS-10.14
jobs.id.steps

Установка действия является основной функцией действия.

jobs.id.steps.name

Он используется для установки отображаемого заголовка каждого шага, который отображается во время выполнения и может быть написан свободно.

jobs.id.steps.uses

Вы можете выполнять некоторые инкапсулированные действия:

  1. uses: actions/checkout@master, потяните код.
  2. actions/setup-node@v1, чтобы инициализировать среду узла.
jobs.id.steps.run

Выполнение заказа

  1. Пакет установки:npm run test:rules
  2. Выполните тестовую команду, которую мы написалиnpm run test:rules

Результаты

В действии мы видим, что написанный нами скрипт был выполнен, если в выполнении нет ошибки, он подскажет нам «успех», что обозначено «зеленым».

Посмотреть реальные проекты

Суммировать

Ладно, давайте так много писать.Это тоже первый пользователь, и я дрожал, когда я его писал.Боялся, что меня обрызгают большие быки, когда я его выпустил, но мне очень понравилось действие.