미디엄: https://medium.freecodecamp.org/how-to-setup-ci-on-gitlab-using-docker-66e1e04dcdc2
GitLab CI quick start: https://gitlab.com/help/ci/quick_start/README
GitLab CI Demo: https://gitlab.com/ykyuen/gitlab-ci-demo
이번에 GitLab에서 CI를 자체적으로 지원해준다고 해서 한번 해보자!
하는 마음으로 시작하는 CI 설정!
쉽게 정리해보자면, 설정 순서는 다음과 같습니다.
0. 빌드하고자하는 환경을 설정
1. .gitlab-ci.yml 설정
2. gitlab에 push!
3. 빌드됨!
여기서 가장 어렵다고 생각이 드는 것은 빌드하고자 하는 환경을 설정하는 것이라고 생각합니다.
그런데 freecodecamp 미디엄 글에서는 도커 이미지를 사용해서 설정하는군요.
일단 저는 Cordova 앱을 빌드하기 위해 필요한 환경설정이 무엇인지 살펴보고자 합니다.
필요한 세팅은 아래와 같을겁니다.
Cordova Android 문서를 참고해보았습니다.
- JDK 8 이상
- Android SDK, Android SDK Packages
- Node.js 8.9.4 (NPM)
- Cordova
정리하고 나니 위에 4개 정도 필요하네요. (추가적으로는 환경변수 설정도 있겠습니다.)
미디엄 글에서 나온 것은 docker 이미지를 사용해서 CI를 설정하고 있어서 편하게 되어 있습니다.
저도 그래서 찾아봤습니다. cordova 관련한 docker 이미지가 있는지!
있습니다!
https://hub.docker.com/r/beevelop/cordova/
요거 써서 설정되어 있는 이미지를 사용하면 편할 것 같습니다.
그래서 제가 작업한 저장소는 아래에!
https://gitlab.com/pineoc/cordova-ci-demo
기본적인 프로젝트 구성은 아래와 같이 만들어졌습니다.
0. .gitignore는 platforms, plugins를 포함해서 기본적인 세팅을 했습니다.
1. npm i -g cordova
2. cordova create ci-test com.pineoc.citest ciTest
3. cordova platform add android
4. .gitlab-ci.yml 세팅
.gitlab-ci.yml 파일은 아래와 같습니다.
image: beevelop/cordova:latest
before_script:
- cordova platform add android
stages:
- build
build:
stage: build
script:
- cordova build android
이렇게 .gitlab-ci.yml을 작성하고 올려두면 자동적으로 파일을 인식, 빌드를 시작합니다.
https://gitlab.com/pineoc/cordova-ci-demo/-/jobs/48618903
이것처럼 쭉 로그가 나오고 빌드 결과는 passed, failed로 나옵니다.
그렇게 어렵지 않게 기본 프로젝트 빌드는 세팅해보았지만
추가적인 설정이 들어가면 어려워질 수 있을 것 같네요.
(플러그인을 추가, iOS 빌드 시스템)
도움이 되었으면 좋겠습니다.