Workflow는 하나 이상의
Job
을 실행하는 구성 가능한 자동화 프로세스입니다. Workflow는 Repository에 체크인된 YAML 파일에 의해 정의되며 Repository의Event
에 의해 트리거될 때 실행되거나 수동으로 또는 정의된 일정에 트리거될 수 있습니다.
.gihub/workflows
name: ci
on:
push:
branches:
- master
pull_request:
branches:
- master
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Run a one-line script
run: echo Hello, world!
- name: Run a multi-line script
- run: |
echo Add other actions to build,
echo test, and deploy your project.
Event는 Workflow 실행을 트리거하는 Repository의 특정 Activity입니다
on:
pull_request:
types: [opened, reopened]
on:
release:
types: [published]
Job
은 동일한 Runner에서 실행되는 Workflow의 일련의Step
입니다.
각Step
은 실행될Script
이거나 실행할Action
입니다.
Step
은 순서대로 실행되며 서로 종속됩니다. 각Step
은 동일한 Runner에서 실행되기 때문에 한Step
에서 다른Step
으로 데이터를 공유할 수 있습니다.다른
Job
과의 종속성을 구성할 수 있습니다. 기본적으로Job
에는 종속성이 없으며 서로 병렬로 실행됩니다.Job
이 다른 작업에 종속되면 종속 작업이 완료될 때까지 기다렸다가 실행할 수 있습니다.
Action
은 복잡하지만 자주 반복되는 작업을 수행하는 GitHub Actions 플랫폼용 사용자 지정 응용 프로그램입니다.
Action
을 사용하여Workflow
파일에 작성하는 반복적인 코드의 양을 줄이십시오.
Action
은 GitHub에서 git 리포지토리를 가져오거나, 빌드 환경에 대한 올바른 도구 체인을 설정하거나, 클라우드 공급자에 대한 인증을 설정할 수 있습니다.
Runner
는 워크플로가 트리거될 때 워크플로를 실행하는 서버입니다.
using-larger-runners
hosting-your-own-runners
name: learn-github-actions
run-name: ${{ github.actor }} is learning GitHub Actions
on: [push]
jobs:
check-bats-version:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: '14'
- run: npm install -g bats
- run: bats -v