Membuat Automation Build Flutter dengan Gitlab CI

Mungkin kalian para programmer mobile, khusus nya developer Flutter pastinya ingin sekali untuk dapat otomatis build dengan resource milik orang lain seperti salah satu contoh nya adalah Runner dari Gitlab yang dimana tujuan nya agar kalian bisa langsung mendownload hasil build nya, tanpa harus dilakukan secara manual dan hemat resource pribadi.

Yang pertama adalah membuat file gitlab-ci.yml pada root project flutter kalian seperti gambar dibawah ini

Lalu pada .gitlab-ci.yml masukan script seperti gambar berikut

Notes : Perlu di ingat bahwa script yang di tandai warna merah itu adalah opsional, yang maksudnya adalah, aplikasi kalian akan di build otomatis ketika masuk branch release saja, jadi kalian bisa menghapus script only tersebut jika tidak di perlukan.

Berikut adalah script nya yang dapat kalian copy lalu paste di project kalian

stages:
  - build

.global_before_script: &global_before_script
  before_script:
    - flutter pub get
    - flutter clean

build:flutter 1.26.0.8:
  stage: build
  image: cirrusci/flutter:1.26.0-8.0.pre
  <<: *global_before_script
  script:
    - flutter build apk --release --split-per-abi
  artifacts:
    paths:
      - build/app/outputs/apk/release
  only:
    - release

Untuk mendownload dan melihat progress build nya bisa kalian lihat dengan mengikuti step berikut

Pertama, masuk ke repository kalian dan masuk ke halaman pipelines seperti gambar berikut

Lalu setelah itu klik tombol download pada samping pipeline seperti gambar berikut

Setelah itu baru kalian bisa download artifact nya seperti gambar berikut

Apakah Gitlab CI dapat langsung deploy ke Playstore dan Appstore ? Bisa, pembahasan tersebut akan dibuat di lain artikel, dan sebagai spoiler, bahwa untuk otomatis upload ke Playstore dan Appstore, akan menggunakan teknologi lain yang bernama Fastlane atau jika ingin langsung mencoba nya bisa langsung mengikuti guide berikut langsung dari tim Flutter nya https://flutter.dev/docs/deployment/cd

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

You May Also Like
Read More

Socket IO

Socket IO adalah teknologi yang digunakan untuk membuat aplikasi anda menjadi realtime, atau mungkin anda butuh teknologi yang…
Read More

PHP Clockwork

Apa kalian pernah dengar PHP Debug Bar ? atau mungkin Laravel Debug Bar ? kalo gitu perkenalkan PHP Clockwork yang jauh lebih powerfull dibanding debug bar lainnya.