Skip to content

Github action

soyeon edited this page Feb 22, 2023 · 1 revision

Git Actions

특정한 event가 발생했을 때 내가 원하는 일을 자동으로 수행할 수 있도록 만들어주는 tool


GitHub Actions는 코드 저장소(repository)로 유명한 GitHub에서 제공하는 CI(Continuous Integration, 지속 통합)와

CD(Continuous Deployment, 지속 배포)를 위한 비교적 최근에 추가된 서비스

  • Events
  • Workflows
  • Jobs
  • Actions
  • Runners



Event

ex) main branch로 merge할 때, commit을 push할 때, issue를 누군가 열 때 등등


Workflow

어떤 일을 수행할 것인지 명시


Jobs


Actions

액션은 GitHub Actions에서 빈번하게 필요한 반복 단계를 재사용하기 용이하도록 제공되는 일종의 작업 공유 메커니즘

ex) 체크 아웃 액션(actions/checkout)처럼 코드를 작업 실행 환경으로 내려받기


Runners



.yml

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

GitHub Docs 참고

action 기능은 event 기반의 기술이므로 on: [push] 사용자가 push했을 때 아래와 같이 실행된다.


steps

실제로 벌어지는 일은 steps에 적게 되어있다.

GitHub Actions에서는 각 작업(job)이 하나 이상의 단계(step)로 모델링 된다.

커맨드나 스크립트를 실행할 때는 run 속성을 사용하며, 액션을 사용할 때는 uses 속성을 사용한다.


name은 step의 이름이다.(단순히 이름뿐)

명령의 실제 내용은 run에 적어주면 된다.(실제 코드)


cache

Java-Gradle에서 적힌 코드를 가져왔다.

Clone this wiki locally