Skip to content

This repository demonstrates a sample CI/CD pipeline setup for a Flutter application using GitHub Actions, Codemagic, and Shorebird.

Notifications You must be signed in to change notification settings

hasankarli/example_ci_cd

Repository files navigation

Flutter CI/CD Pipeline with GitHub Actions, Codemagic, and Shorebird

This repository demonstrates a sample CI/CD pipeline setup for a Flutter application using GitHub Actions, Codemagic, and Shorebird. The pipeline is designed to automate the build, test, and deployment processes, ensuring consistency and efficiency in your Flutter app development.

This implementation is based on my own experiences as well as insights gained from various projects I have researched. The repository showcases best practices for version management, branch structure, and CI/CD integration.

You can read more about the full implementation and details in my upcoming article Medium article.

Branch Structure and Version Management

To maintain a well-organized and secure development process, this repository follows a structured branching strategy. With proper branch protection rules, PR processes, and version tagging, you can ensure both the speed and quality of your development pipeline.

  • Master branch: Stable production releases
  • Staging branch: Pre-production environment for testing
  • Dev branch: Ongoing development work

Versioning follows a specific format to differentiate between releases and patches, ensuring clarity and consistency in the deployment process.

Features

  • GitHub Actions for Continuous Integration: Automate testing and linting processes to maintain code quality.
  • Codemagic for Flutter Builds: Efficient build and release automation for both Android and iOS platforms.
  • Shorebird for CodePush Integration: Seamlessly deploy hotfixes to your app without requiring users to download a full update from the app store.
  • Branch Protection and Version Tagging: Enforce branch protection rules and version tags to ensure a secure and organized release process.

About

This repository demonstrates a sample CI/CD pipeline setup for a Flutter application using GitHub Actions, Codemagic, and Shorebird.

Resources

Stars

Watchers

Forks

Packages

No packages published