Continuous Development
/ Continuous Delivery

Joe Alongi
5 min readFeb 28, 2021

Services are continuously evolving, therein they require continuous development. Practically many developers establish these practices and tool sets before even reaching an agile ecosystem.

Acknowledging the need for testing & validation before enabling code in the production services. Developers turn to version control systems to enable logical paths to live environments.

GitHub has been a main-contender in Open Source development throughout the past decade. In the last year the movement to cloud-native has pushed GitHub closer to integration with developer solutions.

CircleCI:

Continuous integration tool for auditing and monitoring codebases.

Sentry:

Monitoring and code improvement solution for continuous integration.

Firebase:

Cloud services toolkit for hosting & monitoring development.

Simplifying Development Operations in GitHub

Attaching software testing and monitoring to development is what is known as Continuous Development/Deployment/Integration. This practice enables developers and teams to ship exceptional code with services attached for enabling the quality of that code and solution to improve through the process of testing.

GitHub Actions

Actions are GitHub’s answer to plug-and-play logic that enables developers to connect with the many software as a service development solutions. Connecting a GitHub repository with CI/CD (Continuous Integration / Continuous Development) tools and code testing modules allows developers to streamline their ability to develop exceptional code.

https://github.com/features/actions

Deploying code to containers and extending cloud-native interfaces is also enabled through many modern SDK (Software Development Kit) technologies developed to unite the developer with a consistent workflow.

Action Workflows

As a feature of GitHub actions intend to decrease the configuration time of code-bases and increase the developer interaction. A surface area of code, in this sense, enables engineers & developers to spend more time, coding.

https://docs.github.com/en/actions

Identifying Actions

Finding actions that align with your stack, could be integrated, and support future development can be done quiet simply through the actions marketplace.

When developing in the Firebase ecosystem, developers can now initialize their product and push each change to the production environment through the selected branches. Simply put, changes are managed through branches, as branches are merged, the merged branches can, in form, update the production code-base.

Configuring YAML

YAML “is a human friendly data serialization standard” that enables developers to create documents to outline process for actions, deployments, testing, formats, and automations.

Automations have become a larger part of the developer ecosystem as the solutions span companies, startups, and languages alike. Automations bring everything together, where larger businesses have teams for each angle, a solo-developer and small team must make use of managed services and automation.

The Firebase tools CLI will also help configure your YAML as you go about deploying, to your code, to the version control platform of your choice; though, as many automations it may require adjustments to fit.

YAML can be tricky to understand, as it is a table of contents for the structure of the content within the program being developed. Through understanding and testing, you can quickly iterate a boilerplate of YAML into a customized development tree for how your software deploys.

Automation with GitHub Workflows & Actions

GitHub can deploy to Firebase on merge & through push actions. GitHub additionally, automatically shows, all environments configured that have supporting actions & workflows.

When configuring Firebase initially make sure to check that you have enabled GitHub actions, as the initialization will generate files for how in which process the files will be contributed and tested against their functionality. In the YAML files generated make sure to check that the package mangers line up with your package manger and properly builds to tests the files.

Firebase & Yarn

Yarn is a popular package manager that simplifies packages for the ability of developers to establish clean package installs, securely, with effectual instillation, to reduce extra versioning & errors.

Configure the Firebase Tools generated files to fit your projects build process, including the modules used to install/build. If testing is part of the process that can be configured outside or within the build steps in this process.

Once you have configured the proper build and test steps in the GitHub wokflows file for Firebase, you can push, merge, and begin developing to deploy to production.

Thanks for Reading, Keep Working!

Looking for more Application Development advice? Follow along on Twitter, GitHub, and LinkedIn. Visit online for the latest updates, news, and information at heyitsjoealongi.com.

--

--