Skip to main content

GitHub Actions

GitHub Actions는 빌드, 테스트, 배포 등과 같은 CI/CD 자동화 플랫폼이다.


동작 방식

하나의 Workflow 안에, 하나 이상의 Job으로 구성 돼 있다. JobStep이라고 하는 단위로 또한 나뉠 수 있으며, 각각의 Step은 항상 선행관계가 존재해, 순차적으로 실행된다. 만약 선행작업이 실패하는 경우 이후의 작업은 실행되지 않는다.

하나의 Workflow 안에, 여러 개의 Job이 존재할 경우, 별도의 선행관계가 설정 돼 있지 않은 이상, 병렬로 처리된다.

각각의 Job은 가상머신 위의 독립된 도커 컨테이너로 실행되기 때문에 가상머신의 운영체제를 명시해주어야 한다.


코드

name: remote ssh command

on: [push]

jobs:
build:
name: Build
runs-on: ubuntu-latest # 가상머신의 운영체제 정의
steps:
- name: Executing remote ssh commands using password
uses: appleboy/ssh-action@v1.0.0 # 컨테이너 이미지
with:
host: ${{ secrets.HOST }}
username: ${{ secrets.USERNAME }} # Repository에서 Secrets 설정
password: ${{ secrets.PASSWORD }}
port: ${{ secrets.PORT }}
script: whoami

위처럼 ssh-action으로 간편하게 구성하고, script 부분에 빌드하는 커맨드로 수정하면 된다.

github-actions-pricing

또한 웬만큼의 빌드 횟수가 아니고서야 무료로 사용이 가능하며, 배포 구성이 매우 단순하다는 특징이 있다.

Related Links