일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Android
- Dva
- Flavors
- Java8
- socket.io
- git-push
- JNI
- ozd
- Firebase
- google-login
- firebase-database
- NoSuchMethodError
- AWS
- cloud-firestore
- mqtt
- socket-server
- BottomSheetDialog
- ActivityResult-API
- hung-up
- 워치
- OZViewer
- Kotlin
- gradle
- TIZEN
- socket-client
- Galaxy Watch
- mosquitto
- git
- 오즈뷰어
- firebase-storage
- Today
- Total
Hyeyeon blog
[Android] Github Actions으로 Android CI 구현하기 본문
1. Docker Desktop 다운로드 및 설치
Docker 홈페이지 에서 Docker Desktop을 다운받아 설치합니다.
설치 후 Docker Desktop을 실행하면 아직 컨테이너가 없기 때문에 아래와 같은 화면이 표시됩니다.
2. "act" 설치
터미널로 아래의 명령어를 실행하여 act를 설치합니다.
$ brew install act
3. Github Repository의 .github/workflows에 .yml 파일 추가
방법 1. 직접 파일 생성하기
방법 2. Github Repository의 Actions에서 android 템플릿을 검색해서 사용
1) Repository의 "Actions" 메뉴를 클릭합니다.
2) 검색창에 "android" 를 검색합니다.
3) 등록하려는 workflow의 "Cofigure"를 클릭하면 해당 Repository에 .yml을 등록하는 에디터로 전환됩니다.
내용을 적절히 수정한 후 Commit 합니다.
🔎 android.yml 들여다보기
# workflow 이름
name: Android CI
on:
# master 브랜치에 push 시 수행
push:
branches: [ "master" ]
# master 브랜치에 pull request 시 수행
pull_request:
branches: [ "master" ]
# workflow의 실행 동작 (각 job은 병렬로 실행됨)
jobs:
build: # job 이름 (build-job 등 원하는 대로 변경)
# 어느 환경에서 돌아갈 지 지정
runs-on: ubuntu-latest
# 수행할 동작 (순서대로 수행)
steps:
- uses: actions/checkout@v3
- name: set up JDK 11
uses: actions/setup-java@v3
with:
java-version: '11'
distribution: 'temurin'
cache: gradle
- name: Grant execute permission for gradlew
run: chmod +x gradlew
- name: Build with Gradle
run: ./gradlew buildf
4. act 실행
방법 1. Artifact 사용
Artifact란, workflow가 수행하며 생성한 파일을 나타내며 --artifact-server-path 옵션으로 act와 연결합니다.
1) 로컬의 원하는 위치에 actifacts 폴더를 생성합니다.
$ mkdir /tmp/artifacts
2) actifacts 폴더를 연결하여 act를 실행합니다.
Git이 연결된 프로젝트 폴더의 최상단로 이동하여 아래의 명령어를 입력합니다.
$ act --artifact-server-path /tmp/artifacts
방법 2. Artifact 없이 실행하기
$ act
5. 실행 결과
act를 실행한 후 Docker Desktop에서 컨테이너가 생성된 것을 확인할 수 있습니다.
workflow는 생성된 Docker 컨테이너에서 실행됩니다.
android.yml 내용에 따라 master 브랜치로 푸시하면 workflow가 실행됩니다.
workflow의 이름(커밋 메시지)을 클릭하면 상세 페이지로 이동합니다.
worflow의 상세 페이지에서 수행한 Job의 상세 내용을 확인할 수 있습니다.
'개발 > Android' 카테고리의 다른 글
이펙티브 코틀린 - 1장 안정성 (0) | 2024.03.06 |
---|---|
[Android] JNI 오류 - error=2, No such file or directory (0) | 2023.02.25 |
[Android] DataBinding으로 RecyclerView 만들기 (리스트 높이 제한 방법) (0) | 2022.12.31 |
[Android] NFC on, off 상태 확인 (기본모드, 카드모드, 비활성화) (0) | 2022.06.23 |
[Android] 갤러리에서 사진 가져오기 - ActivityResultLauncher, Intent (0) | 2022.03.02 |