Workflow Trigger Events Workflow는 Trigger Events에 의해 Trigger된다. 이번 글에서는 유용한 Trigger Events들에 대해 알아볼 것이다. 저장소 기반 push : 저장소에 push 되었을 때 Trigger 시키기 만약 저장소의 어떤 브랜치든 push 되었을 때 Workflow를 Trigger 시키고 싶다면 다음과 같이 쓰면 된다. on: push 만약 특정 브랜치에 push 되었을 경우에만 Workflow를 Trigger 시키고 싶다면 다음과 같이 쓰면 된다. 아래 예시에서는 main과 release/ 로 시작하는 모든 브랜치에 푸시되었을 경우에 trigger 시키도록 하였다. on: push: branches: - main - release/** pul..
github actions
GitHub Action의 Context Data GitHub Action은 CI/CD에 도움이 되는 여러 데이터를 생성하는데, 이를 Context Data 라 한다. Context 데이터의 종류 Context 데이터의 종류는 다음과 같다. Context명 Type 설명 github object Workflow 실행과 관련된 정보. 더 많은 정보를 원한다면 github context를 참고하라 env object Workflow, Job, Step과 관련된 환경 변수를 포함. 더 많은 정보를 원한다면 env context를 참고하라 job object 현재 실행 중인 Job에 대한 정보. 더 많은 정보를 원한다면 job context를 참고하라. jobs object 재사용 가능한 Workflow에만 적..
이번 시간의 목표 복수의 Job 을 만들고, 이 Job들을 병렬 실행하거나 순차적으로 실행하는 방법을 알아본다. Workflow 파일 만들기 .github/workflows 경로에 multiple_action.yml 파일을 생성한다. 이전 글에서 다룬 test_action에서 이름만 Multiple Action으로 바꾼 후 복사 붙여넣기 한다. name: Multiple Action on: workflow_dispatch: push: jobs: test: runs-on: ubuntu-latest steps: - name: Check out Repository uses: actions/checkout@v3 - name: set up JDK 11 uses: actions/setup-java@v3 with: ..
이번 시간의 목표 안드로이드에서 저장소에 push가 되었을 때, Test를 자동으로 돌아가도록 만들어 Test가 성공했는지 확인한다. 간단한 테스트 만들기 GitHub Action에서 테스트를 돌리기 위해 app/src/test/java/com/lecture/githubaction 경로에 GitHubActionTest.kt 파일을 만든다. 이 테스트는 아래와 같이 하나는 성공(testSuccess)하고 하나는 실패(testFail)하도록 만든다. package com.lecture.githubaction import org.junit.Test internal class GitHubActionTest { @Test fun testSuccess() { assert(true) } @Test fun testFa..
Action이란 무엇인가? Action이란 GitHub Actions에서 미리 정의된 명령어의 집합이다. Action은 복잡하고 자주 반복되는 작업을 간단하게 수행할 수 있도록 해준다. checkout Action으로 코드 내려받기 예를 들어 GitHub 저장소에서 코드를 내려받아 실행 중인 Machine에 저장하는 작업은 간단해보이지만 매우 복잡하다. 따라서 만약 이 작업을 이전 글에서 다룬 run: 블록을 통해 커멘드 라인으로 실행해야 한다면 매우 여러 줄의 코드를 써야될 것이다. 하지만 uses: 블록으로 Action을 사용하면 단 한 줄의 step으로 모든 checkout을 수행한다. 뒤에 붙은 @v3은 checkout Action의 세번째 버전을 사용한다는 것이다. * 글의 작성 시점을 기준으로..