Categories
Software | July 19, 2023

Ephemeral environments using Shipyard Build

In the DevOps culture, many tools help us to perform our work more easily. In this case, we want to present a tool that contributes to the success of our CI/CD: Shipyard.

Kubernetes, Docker, and containerization offer a significant advantage in terms of speed and cost savings. These technologies can be enabled or disabled with minimal effort, making them ideal for businesses looking to streamline their processes and improve efficiency.

However, managing these technologies can be a daunting task, especially for businesses with limited resources. Fortunately, there is a solution called Shipyard.build that can help manage these technologies.

It is crucial to acknowledge that non-production environments are inherently delicate. In these environments, you are constantly trying out new things, experimenting, and making improvements. However, this also means that you are bound to encounter issues and encounter breakdowns. The primary challenge here is that when something goes wrong, it can quickly spread throughout the entire team, causing significant disruptions and preventing others from making progress.

When developers work on new features or bug fixes, they create a separate branch in the code repository. This allows them to work on the code without affecting the main branch. Once the development work is complete, the code is merged back into the main branch after thorough testing.

To perform testing, developers create separate branches for each environment, such as Develop and Staging. These branches allow testers to perform tests on the new code without affecting the main branch or other branches. However, managing these branches can be time-consuming and prone to error.

Ephemeral environments solve this problem by providing a temporary environment to test the new code. With Shipyard.build, developers can create isolated and on-demand environments to test their code. These environments are based on the project’s docker-compose file and are destroyed once testing is complete. This approach allows developers to test new code more quickly and efficiently, without the risk of affecting other branches.

Furthermore, this scenario enables asynchronous collaboration, making it easier for developers to work together remotely. Instead of having to set up a meeting to review a work-in-progress feature, developers can simply share a link to an ephemeral environment. This gives others a way to access the new feature and provides a platform for collaboration and feedback.

Another advantage of Shipyard is that we have access to Shipyard’s CLI to facilitate and automate a large part of its functionalities, providing us with the possibility to access and manage our containers from the comfort of our terminal. The CLI has access to each container’s logs. This gives you the power to follow along. Or go back later and tail the logs to find any errors they might reveal.

Undoubtedly, Shipyard is a very useful tool. Its ephemeral environments solve and facilitate the necessary testing in the lifecycle of our software. Development teams achieve greater ease in performing their tests and deploying their applications in all environments, including production.

By Nicolás Magnano

Nicolas is a DevOps professional, electronics technician, and systems engineer who is passionate about networking. As a two-time Ironman Brazil finisher, he excels in both the technical and athletic realms, and enjoys troubleshooting and utilizing observability tools to optimize systems.

Leave a Reply

Your email address will not be published. Required fields are marked *