Github Actions 가이드 문서를 참조합니다.
- Github Actions 에서 CICD 워크플로우의 실행은
ProjectHome/.github/workflows/
디렉토리 하위의 Yaml 파일에 의해 실행 됩니다.
워크플로우 트리거 방식에 의해 자동 또는 수동을 정의할 수 있습니다.
on: push
으로 정의하면 브랜치에 변경 내역이 push 되면 자동으로 트리거 됩니다.
name: deploy symple application by automatically
on: push
- 브랜치를 지정할 수 있습니다.
name: deploy symple application by automatically
on:
push:
branches:
- main
- develop
수동으로 워크플로우 실행은 on: workflow_dispatch
으로 정의합니다.
name: deploy symple application by manually
on:
workflow_dispatch
Workflow를 위한 입력파라미터를 설정할 수 있습니다.
name: deploy symple application by manually with input parameters
on:
workflow_dispatch:
inputs:
profile:
description: input profile for build and runtime
type: string
default: "dev"
required: true
app-version:
description: input application version
type: integer
default: 1
required: true
cpu-architecture:
description: select cpu architecture which is ARM64 or AMD64
type: choice
default: "AMD64"
options:
- "AMD64"
- "ARM64"
체크아웃 / 빌드 / 코드 감사 / 업로드 / 통보 등의 작업 사용은 jobs
를 통해 정의 합니다.
jobs:
스테이지1:
runs-on: ubuntu-latest
steps:
- run: echo "Hello, Giihub Actions!"
스테이지2:
name: "pwd and ls"
runs-on: ubuntu-latest
steps:
- name: Print working directory
run: pwd
- name: List files
run: ls -al
Github에서 제공하는 actions 실행기의 필수 기능으로 github 에서 소스 코드를 checkout
하고 아티팩트를 upload
및 download
할 수 있습니다.
actions 의 사용은 uses
키워드로 하며 actions/<커멘드>
를 통해 명령이 실행됩니다. <커멘드>
를 실행할때 버전을 선택하기 위해 @<버전>
을 사용니다.
steps:
- uses: actions/checkout@v4
위 명령은 버전 4의 checkout 실행기를 사용하는 것을 의미 합니다.
Maven 빌드 를 참조합니다.
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v3
with:
java-version: '17'
distribution: 'temurin'
- name: Run the Maven verify phase
run: mvn --batch-mode --update-snapshots verify
env:
AWS_REGION: ap-northeast-2
AWS_ROLE_ARN: "aaa"
s3_bucket: symple-s3
Github Actions 에서 제공하는 기본 환경 변수를 활용하면 CICD를 세밀하게 제어할 수 있습니다.