CI, CD

이번 시간의 목표 복수의 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의 세번째 버전을 사용한다는 것이다. * 글의 작성 시점을 기준으로..
이전까지 내용 요약 이전까지 name:을 사용해 Work Flow의 이름을 정하고, on:을 사용해 Work Flow의 Trigger Event를 설정했으며, jobs: 에 first-job이라 불리는 첫 Job을 설정하고 이 Job의 runs-on: 에 ubuntu-latest를 설정해 GitHub Action에서 제공하는 가장 최신 우분투 버전에서 실행되도록 만들었다. # WorkFlow의 이름 설정 name: First Action # on: Work Flow가 언제 실행되어야 하는지 설정 # workflow_dispatch : 유저가 직접 실행하도록 설정하는 옵션 on: workflow_dispatch #jobs: workflow에 포함된 job들을 정의 jobs: #[Job 이름]: 으로 Job..
GitHub에서 호스팅하는 Runner GitHub Action을 사용하는 기업들에서는 보통 직접 Runner을 만들어서 사용하지만, 일반적인 사용자는 그런 환경을 만들기 쉽지 않다. 따라서 보통 기본으로 제공되는 Virtual Machine을 사용한다. GitHub Action을 서비스하는 GitHub는 GitHub Actions를 위해 다양한 Virtual Machine을 제공 한다. 사용할 수 있는 Runner는 다양한데 글을 쓰는 날짜를 기준으로 아래와 같은 Runner들을 사용할 수 있다. Deprecated된 것들은 제외했다. Runner image YAML workflow label Notes Windows Server 2022 windows-latest or windows-2022 The ..
Dev.Cho
'CI, CD' 카테고리의 글 목록 (4 Page)