Opolis Releases Serverless Continuous Integration & Deployment (CI/CD) System

Opolis
Opolis
Published in
4 min readMay 28, 2019

With the Opolis/Deployer tool, developers can independently test and verify changes on their own time- and with wildly varying configurations- without having to worry about configuration drift in the development environment or coordinating deployment cycles.

Today Opolis announced the release of Opolis/Deployer, a continuous integration (CI) and continuous deployment (CD) tool, which allows developers to review, test, and verify changes in independent environments on Amazon Web Services (AWS). Opolis has been developing and testing the tool for the past year with real projects and are now encouraging others to submit feedback and pull requests on the product. If you’re interested in testing with Opolis/Deployer, check out Opolis’ GitHub here.

Background
Generally, software is deployed in a sequence of stages called a pipeline which can be monitored and verified. Typically, the process starts with three stages: a build stage where code and dependencies are compiled, a test stage where the compiled assets are put under some type of testing and validation, and a deploy stage where build output is sent to some location for storage or execution. If any particular stage fails, the ones after do not run.

Beyond having a sequence of steps to get from code to deployment, developers also want a means of checking the definition of these steps into version control to see how the pipeline and infrastructure changes over time. This is commonly referred to as “infrastructure-as-code”.

This deployment model is important because it helps developers push code through to production in a way that is repeatable and verifiable:

Setting up a series of deployment stages in and of itself isn’t terribly complicated, and there are a lot of great tools out there to help developers do this (e.g. AWS CodePipeline). However, things start to get messy when devs want to have multiple copies, or environments of this pipeline. Obviously, the production pipeline is the most important and a staging pipeline typically exists to ensure changes are stable before promoting to production, but what about development environments? This is where a tool like Opolis/Deployer becomes useful.

How It Works
Since many dev teams often share one development environment, coordination and configuration problems can occur if two or more developers want to simultaneously test their changes. To alleviate this problem, Opolis/Deployer makes sure that for every unique development branch that exists in GitHub, this is also a corresponding deployment pipeline. This way, developers can independently test and verify changes on their own time, and with wildly varying configurations, without having to worry about configuration drift in the development environment or coordinating deployment cycles with other developers.

After changes to the repository’s codebase and/or deployment pipeline (remember, it’s code too!) have been made and verified in a development GitHub branch, merges into master propagate “upward” to the staging pipeline. Developers can do more testing at the pipeline level to ensure changes are continuously integrated successfully with other work, and are safe to deploy to production.

Deploying to Production with Opolis/Deployer
Once a release event has been triggered, a repository’s latest commit on the master branch can be tagged and promoted to the production environment. The specification for the pipeline itself will determine the type of deployment that is made, and if any specific steps must be taken to ensure the code is properly deployed (e.g. blue/green deployments, load balancer registration, etc). Opolis/Deployer ensures that the pipeline is triggered for every tag on GitHub.

Submit Your Feedback on the Opolis/Deployer Tool
As previously mentioned, the Opolis team has been developing and testing Opolis/Deployer for the past year with real projects, and now the team wants your feedback developers!

Says Opolis lead developer Nick Miller, “Having an automated and reliable deployment process has been invaluable for us as we push to release new features and fix bugs in our projects. I’m excited to share with the rest of the development community and am looking forward to seeing what others do with it.”

Please pull requests on Opolis/Deployer and submit your feedback via this Github link. Learn more about Opolis and how the Opolis team are shaping the future commons of employment here.

--

--