Home / Companies / Semaphore / Blog / January 2022

January 2022 Summaries

2 posts from Semaphore

Filter
Month: Year:
Post Summaries Back to Blog
Deploying iOS apps to early testers is crucial for obtaining feedback and identifying issues during development, and Firebase App Distribution offers a service to facilitate this process for Flutter apps. Unlike Android, deploying iOS apps is complex due to Apple's restrictions, requiring signed ad-hoc releases, which App Distribution supports. The article delves into automating iOS app deployments using ad-hoc releases with Firebase, emphasizing the setup of Firebase CLI, fastlane, and Semaphore for continuous integration and deployment. Setting up involves creating a Firebase project, configuring Firebase CLI, setting up fastlane for automation, and integrating fastlane match for handling iOS code signing. Semaphore is used to orchestrate the CI/CD pipeline, ensuring efficient workflows, including dependency management, linting, testing, and deployment to Firebase. This approach significantly reduces manual effort, streamlining the release process whenever a developer merges a pull request, making it a valuable investment despite its complexity compared to Android.
Jan 20, 2022 1,995 words in the original blog post.
Feature flags, also known as feature toggles, are a software engineering technique that allows developers to integrate code into production while keeping new features dormant until they are ready to be activated. This method facilitates a continuous integration and delivery approach by enabling quick deployment and testing of partially developed features without the need for separate testing environments. Feature flags provide flexibility in software delivery by allowing fine-grained control over which features are active, supporting canary releases, and enabling business-driven release decisions. They also simplify version control by promoting trunk-based development, reducing merge conflicts, and enabling simultaneous experimentation with multiple feature versions through A/B testing. Although they add complexity to the codebase, feature flags empower development teams to adapt quickly, manage operational risks, and enhance user experiences by activating features at optimal times. Implementing feature flags requires careful management of their lifecycle, including minimizing flag debt and maintaining clear naming conventions, to prevent the accumulation of obsolete code and ensure efficient operation within continuous integration and delivery pipelines.
Jan 04, 2022 2,011 words in the original blog post.