Bu depo, GitHub Actions kullanarak Flutter projeleri için sürekli entegrasyon ve sürekli dağıtım (CI/CD) uygulamanın bir örneği olarak hizmet verir. Bu süreç, otomatik testler, kod analizi, derleme süreçleri, Firebase App Distribution aracılığıyla dağıtım ve testerlara Microsoft Teams bildirimleri içerir. 🚀
- Flutter SDK
- GitHub Actions
- Firebase CLI
- Fastlane (Opsiyonel)
-
Test Etme: Projede bulunan testleri çalıştırır.
-
Kod Analizi: Dart kodunu analiz eder.
-
Build: Uygulamayı derler ve bir APK dosyası oluşturur.
-
Firebase App Distribution: Firebase App Distribution aracılığıyla APK veya App Bundle'ı dağıtır.
-
Teams Bildirim: Microsoft Teams üzerinden testerlara yeni sürüm hakkında bildirim gönderir.
Firebase App Distribution ve Teams bildirimlerini kullanmak için aşağıdaki adımları takip edin:
-
android/json-secret.json
adında bir dosya oluşturun ve Firebase CLI token, app ID, Teams URL gibi gizli bilgileri içerdiğinden emin olun. -
GitHub deposu ayarlarından "Secrets" (Gizli Değerler) sekmesine gidin ve bu dosyanın içeriğini bu sekmede tanımlayın:
FIREBASE_SECRET
: Firebase CLI tokenAPP_ID
: Firebase proje ID'siTEAMS_URL
: Microsoft Teams Webhook URL'si
Eğer manuel olarak sürümü dağıtmak istiyorsanız, aşağıdaki komutları kullanabilirsiniz:
- Fastlane kullanarak Firebase dağıtımı:
cd android/fastlane deploy
- Makefile kullanarak Firebase dağıtımı:
make deploy-android
Umarım bu örnek, Flutter projelerinizde CI/CD sürecini geliştirmenize yardımcı olur! 🚀
This repository serves as an example for implementing continuous integration and continuous deployment (CI/CD) for Flutter projects using GitHub Actions. The workflow includes automated testing, code analysis, build processes, Firebase App Distribution for distribution, and Microsoft Teams notifications for testers.
- Flutter SDK
- GitHub Actions
- Firebase CLI
- Fastlane (Optional)
-
Testing: Runs tests present in the project.
-
Code Analysis: Analyzes Dart code.
-
Build: Compiles the application and generates an APK file.
-
Firebase App Distribution: Distributes the APK or App Bundle via Firebase App Distribution.
-
Teams Notification: Sends a notification about the new version to testers via Microsoft Teams.
To use Firebase App Distribution and Teams notifications, follow these steps:
-
Create a file named
android/json-secret.json
containing sensitive information such as Firebase CLI token, app ID, Teams URL. -
Go to the repository settings on GitHub, navigate to the "Secrets" tab, and define the content of this file in the secrets:
FIREBASE_SECRET
: Firebase CLI tokenAPP_ID
: Firebase project IDTEAMS_URL
: Microsoft Teams webhook URL
If you want to distribute the version manually, you can use the following commands:
- Firebase deployment using Fastlane:
fastlane deploy
- Firebase deployment using Makefile:
make deploy-android
Hope this example helps you improve the CI/CD process for your Flutter projects! 🚀




Bu görseller, CI/CD sürecinin adımlarını göstermektedir. 🚀