Skip to content

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, Microsoft Teams notifications for testers.

Notifications You must be signed in to change notification settings

bedirhanayydin/GithubActionsFlutter

Repository files navigation

[TR]

🚀 Flutter GitHub Actions CI/CD ve Firebase Deployment Örneği

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. 🚀

🛠️ Gereksinimler

  • Flutter SDK
  • GitHub Actions
  • Firebase CLI
  • Fastlane (Opsiyonel)

🚀 CI/CD Aşamaları

  1. Test Etme: Projede bulunan testleri çalıştırır.

  2. Kod Analizi: Dart kodunu analiz eder.

  3. Build: Uygulamayı derler ve bir APK dosyası oluşturur.

  4. Firebase App Distribution: Firebase App Distribution aracılığıyla APK veya App Bundle'ı dağıtır.

  5. Teams Bildirim: Microsoft Teams üzerinden testerlara yeni sürüm hakkında bildirim gönderir.

🌐 Firebase App Distribution ve Teams Bildirimleri (Opsiyonel)

Firebase App Distribution ve Teams bildirimlerini kullanmak için aşağıdaki adımları takip edin:

  1. 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.

  2. 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 token
    • APP_ID: Firebase proje ID'si
    • TEAMS_URL: Microsoft Teams Webhook URL'si

🚢 Manuel Dağıtım

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! 🚀

[EN]

🚀 Flutter GitHub Actions CI/CD and Firebase Deployment Example

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.

🛠️ Requirements

  • Flutter SDK
  • GitHub Actions
  • Firebase CLI
  • Fastlane (Optional)

🚀 CI/CD Stages

  1. Testing: Runs tests present in the project.

  2. Code Analysis: Analyzes Dart code.

  3. Build: Compiles the application and generates an APK file.

  4. Firebase App Distribution: Distributes the APK or App Bundle via Firebase App Distribution.

  5. Teams Notification: Sends a notification about the new version to testers via Microsoft Teams.

🌐 Firebase App Distribution and Teams Notifications (Optional)

To use Firebase App Distribution and Teams notifications, follow these steps:

  1. Create a file named android/json-secret.json containing sensitive information such as Firebase CLI token, app ID, Teams URL.

  2. 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 token
    • APP_ID: Firebase project ID
    • TEAMS_URL: Microsoft Teams webhook URL

🚢 Manual Deployment

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! 🚀

🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥

Screenshot 2023-12-21 at 14 00 04 Screenshot 2023-12-21 at 14 00 31 Screenshot 2023-12-21 at 14 00 25 Screenshot 2023-12-21 at 13 58 18

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

About

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, Microsoft Teams notifications for testers.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published