در این مقاله قصد دارم توضیح بدم که چگونه در gitlab CI\Cl بتونیم از دستورات فلاتر استفاده کنیم و خروجی بگیریم.
برای مشاهده ریپازیتوری Github این پروژه میتونید به اینجا برید.
برای مشاهده این مقاله در Medium هم میتونید از این استفاده کنید.
اگر توی مبحث gitlab CI\Cl مبتدی هستین یا دقیق تر بدونید چرا اصلا باید ازش استفاده کنیم میتونید از داکیومنت خودش استفاده کنید.
خب میدونیم که ما باید یه فایلی ب اسم .gitlab-ci.yml به فولدر اصلی پروژمون اضافه کنیم و Gitlab دستوراتی که اینجا براش مینویسیمو اجرا میکنه و از فلاتر خروجی میگیره.
پس اول از همه نیاز به Java & Flutter SDK داره که ما با استفاده از داکر بهش اضافه میکنیم. من docker image که خودم قبلا درست کرده بودمو استفاده میکنم که توی dockerHub هم موجوده ، اگر میخواید درمورد چگونگی آماده سازی اونم بخونید میتونید به اینجا یسری بزنید.
خب پس ما توی خط اول فایلمون اینو اضافه میکنیم :
image: mahdigharooni/flutter:latest
با اجرای همین خط کد تمام نیازمندی های ما برای دستورات فلاتر اضافه میشه و ما میتونیم براحتی از فلارت خروجی بگیریم.
در ادامه فایل هم کار هایی که قصد دارید انجام بشه رو مینویسید که نمونه کداش هستش. من برای پروژم قصد دارم یه خروجی debug از برنچ develop بگیره و توی artifacts ذخیره کنه تا بتونم دانلودش کنم.
image: mahdigharooni/flutter:latest
stages:
- build
flutter_build:
stage: build
before_script:
- flutter channel stable
- flutter upgrade
- flutter pub get
- flutter clean
script:
- flutter analyze
- flutter build apk --debug
artifacts:
paths:
- build/app/outputs/apk/debug/app-debug.apk
only:
refs:
- develop
تقریبا کار ما تموم شده و میتونیم فایل بعد از پوش کردن تغییراتمون اجراش کنیم.
تو قسمت CI\CL یه pipeline جدید میسازیم و دکمه run میزنیم تا فایلمون اجرا بشه . اگر مشکلی پیش نیاد با پیام Job succeeded روبرو میشید.
امیدوارم که این مقاله بهتون کمک کرده باشه.
موفق باشید.