-
Notifications
You must be signed in to change notification settings - Fork 0
Github action
soyeon edited this page Feb 22, 2023
·
1 revision
특정한 event가 발생했을 때 내가 원하는 일을 자동으로 수행할 수 있도록 만들어주는 tool
GitHub Actions는 코드 저장소(repository)로 유명한 GitHub에서 제공하는 CI(Continuous Integration, 지속 통합)와
CD(Continuous Deployment, 지속 배포)를 위한 비교적 최근에 추가된 서비스
- Events
- Workflows
- Jobs
- Actions
- Runners
ex) main branch로 merge할 때, commit을 push할 때, issue를 누군가 열 때 등등
어떤 일을 수행할 것인지 명시
액션은 GitHub Actions에서 빈번하게 필요한 반복 단계를 재사용하기 용이하도록 제공되는 일종의 작업 공유 메커니즘
ex) 체크 아웃 액션(actions/checkout)처럼 코드를 작업 실행 환경으로 내려받기
YAML 문법에서 시퀀스(sequence) 타입을 사용하기 때문에 각 단계 앞에 반드시 -
를 붙여줘야 한다.
name: Hello World
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: set up JDK 11
run: echo Hello, world!
- name: Grant execute permission for gradlew
run: chmod +x gradlew
action 기능은 event 기반의 기술이므로 on: [push]
사용자가 push했을 때 아래와 같이 실행된다.
실제로 벌어지는 일은 steps에 적게 되어있다.
GitHub Actions에서는 각 작업(job)이 하나 이상의 단계(step)로 모델링 된다.
커맨드나 스크립트를 실행할 때는 run
속성을 사용하며, 액션을 사용할 때는 uses
속성을 사용한다.
name은 step의 이름이다.(단순히 이름뿐)
명령의 실제 내용은 run에 적어주면 된다.(실제 코드)
Java-Gradle에서 적힌 코드를 가져왔다.