
💡 Github actions 란 build,test,deployment pipeline 을 자동화해주는 CI/CD 플랫폼이다.
PR 를 test,build 하고 production 환경에 PR 를 merge 하는 workflow 를 생성할 수 있다.events 가 발생할 경우 workflow 를 실행할 수 있는것이 기존 DevOps 와의 차이점이다.
event 가 발생할 경우 trigger 될 workflow 를 정의할 수 있다.workflow 는 하나 이상의 순차적 또는 병행적으로 실행될 job 을 가진다.job 은 virtual machine runner 또는 container 내부 에서 실행된다.job 은 정의한 script 를 실행하는 여러개의 step 을 가지거나 workflow를 간단하게 하는 reusable extension 인 action 을 실행한다.하나이상의
jobs를 실행하는 configurable automated process
YAML 파일로 정의된다.trigger 될 수 있다..github/workflows 폴더 안에 정의된다.workflow 가 run 하도록 trigger 하는 특정한 활동
같은 runner 실행되는 workflow 안의
steps의 집합
action 이다.step 은 순서대로 실행되고 서로 dependent 하다.runner 에서 실행되기 때문에 서로 data 를 공유한다.복잡하지만 빈번하게 반복되는 작업을 수행하는 Github Actions platform 의 custom application
action 을 사용해 workfile 파일 안에 기입한 반복되는 많은 양의 코드를 줄일 수 있다.github Marketplace 에서 workflow에 적용할 action 을 찾을 수 있다.trigger 된 workflow 를 실행할 서버
.github/workflow/ 이름의 폴더를 생성한다..github/workflow/ 파일에 learn-github-actions.yml 파일명의 workflow 파일을 생성한다.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
이 변경 사항을 commit 하고 repository 에 push 한다.
결과, 생성한 workflow 가 repository 에 저장되고, 누군가가 해당 repository 에 push 할 때 마다 생성한 workflow 가 실행된다.

name: learn-github-actions : (optional) Github repository 의 Actions 탭에 나타날 workflow 명
run-name: ${{ github.actor }} is learning GitHub Actions : (optional) workflow 가 실행될 경우의 이름이다. 만약 지정하지 않거나 공백으로 입력할 경우 해당 workflow 를 run 시킨 event 와 관련된 정보가 기입된다push 또는 pull request 에 의해 trigger 됐다면,run-name 은 commit message 로 지정된다.

on: [push] : workflow trigger를 지정한다. 이 예시는 모든 브런치에 push 가 발생할 경우 trigger 된다.
jobs: : 해당 workflow 에서 실행될 모든 job 의 그룹
- check-bats-version: : job 이름 지정
runs-on: ubuntu-latest : 최신의 Ubuntu Linux runner 에서 job 실행되도록 정의
steps: : check-bats-version job 에서 실행되는 모든 step 의 그룹. 여기에 기입되는 item 은 각각 분리된 action 또는 shell script
- uses: actions/checkout@v3 : 코드 저장소에 올려둔 코드를 CI 서버로 내려받은 후 특정 브랜치로 전환하는 행위를 일련의 과정으로 묶어서 제공해주는 것. Github Actions 에서 처리되는 모든 작업의 시작점이라고 할 수 있다.
Actions tab 에 들어간다.
workflow 를 클릭한다.
run 의 이름을 클릭한다.
job 을 클릭한다.
step 의 결과를 확인한다.
한마디로 해서
Github Actions의 workflow 를 작성해 작성한 application 의 이미지를 repository 내에서 바로 이미지를 자동으로 만들 수 있다.(CI)