Assalamu’alaykum Warohmatullahi Wabarakatuh
Hallo temen-temen semua, pada tulisan kali ini saya ingin berbagi tutorial tentang Continuous Integration (CI) pada Android development dengan memenfaatkan CI dari GitLab.
Saya sendiri sebenarnya bukan Android Developer, jadi disini saya hanya berbagi pada bagian CI nya saja.
Okay hal pertama yang harus di lakukan yaitu membuat repository dari aplikasi Android mu di GitLab. Saya asumsikan disini temen-temen sudah mempunyai repositorynya.
lakukan perubahan pada build.gradle
temen-temen menjadi seperti
// file app/build.gradle
...
//Signing configurations for build variants "release"
signingConfigs {
release {
storeFile file("my.keystore")
storePassword System.getenv("KEYSTORE_PASSWORD")
keyAlias System.getenv("KEY_ALIAS")
keyPassword System.getenv("KEY_PASSWORD")
}
}
...
dan jangan lupa sertakan keystore temen-temen dalam folder app/
, jadi kurang lebih seperti ini strukturnya
kemudian kita buat file .gitlab-ci.yml
pada root directory project kita
dan kemudian isi sebagai berikut.
# file .gitlab-ci.yml
# docker container yang sudah terinstall android development
# container menggunakan SDK 25, dan BUILD TOOLS 24.0.3
# untuk container lainnya lihat gitlab.com/repodevs/android-ci
image: registry.gitlab.com/repodevs/android-ci:T25-B24.0.3
before_script:
- export GRADLE_USER_HOME=`pwd`/.gradle
- chmod +x ./gradlew
cache:
key: "$CI_COMMIT_REF_NAME"
paths:
- .gradle/
stages:
- build
build:
stage: build
only:
- tags
script:
- ./gradlew assemble
artifacts:
paths:
- app/
Script di atas akan menjalankan CI pada ketika ada sebuah tags
di buat, jika ingin setiap commit atau lainya silahkan lihat disini https://docs.gitlab.com/ee/ci/yaml/#only-and-except-simplified
setelah itu commit semua perubahannya, tetapi jangan di push dulu. kita akan settings Environment / Secret variables pada repository GitLabnya terlebih dahulu.
Masuk ke GitLab -> Repository -> Settings -> CI/CD atau mudahnya
https://gitlab.com/[USERNAME]/[NAMA-REPOSITORY]/settings/ci_cd
dan settings variable yang kita butuhkan tadi yaitu
KEYSTORE_PASSWORD
KEY_ALIAS
KEY_PASSWORD
jika sudah dimasukan akan menjadi seperti ini
Setelah itu kita buat tags dari commitan kita terakhir dan kemudian push tags tersebut.
atau kita bisa membuat tags melalui web gitlabnya.
Masuk ke halaman pembuatan tags, atau mudahnya https://gitlab.com/[USERNAME]/[NAMA-REPOSITORY]/tags
kemudan klik New tag
dan isi field-field yang dibutuhkannya.
Ketika tags dibuat, GitLab akan otomatis men-trigger CI nya, untuk melihat semua status CI bisa dilihat di https://gitlab.com/[USERNAME]/[NAMA-REPOSITORY]/pipelines
Ketika CI berjalan dengan normal, status pada pipelinesnya akan menjadi passed
dan kita bisa langsung mendownload file apk kita (Artifacs)
Sekiah tutorial kali ini, InsyaAllah akan di sambung lagi tentang CI/CD ini :D