The CI/CD and DevOps Blog

Learn about various tried-and-tested strategies that will help you ship code faster

Migrating from Shippable to JFrog Pipelines

Thank you for being a Shippable customer! As you might be aware, Shippable was acquired by JFrog in February 2019. Since the acquisition, we have been hard at work integrating CI/CD functionality into the JFrog platform to provide a superior integrated experience that goes beyond just CI/CD.

As part of this effort, we will retire the Shippable service after May 3, 2021. After this date, you will no longer be able  to access your Shippable subscriptions.

We encourage you to try the much improved evolution of Shippable - JFrog Pipelines. It carries forward popular features from Shippable with a bunch of additional improvements based on customer feedback and the ability to leverage the advantage of being part of  a more complete DevOps platform.     

The Next Step in the Evolution of Shippable: JFrog Pipelines

Thank you for being a Shippable customer. JFrog’s acquisition of Shippable two years ago was an inflection point, and we appreciate your patience as we established and worked through our roadmap. The Shippable product was re-designed and re-introduced as JFrog Pipelines. We’ve invested heavily in JFrog Pipelines, and we’re now at the cross-over point at which we can recommend a migration to JFrog Pipelines for Shippable customers. It’s a matter of focus - we can bring you more features faster by investing in one product that meets your requirements.

The Shippable service will no longer be available as of May 3rd, 2021. This notification is meant to give you ample time for a product switchover, and we’re hopeful that you will consider JFrog Pipelines as your destination. You can read about the best practices for migrating to JFrog Pipelines here.

Provisioning AWS Instances Using Terraform Modules

In the previous post, we walked through the steps to provision an AWS Network using Terraform Modules. If you missed the post, here's the link to it: Provisioning AWS Network using Terraform Modules and the full code is available here:

In this post, we'll provision a few more components using Terraform modules. Additionally, we'll use the generated state file from the previous post as an input data source in this workflow. So it is highly recommended that you run that code first.

Since Terraform makes it super easy to create and destroy infrastructure, you should be able to spin up all components for testing and destroy them when done. I've probably done this at least ten times to test the code for this blog !!!

Provisioning AWS Network using Terraform Modules

At Shippable, we love using Terraform. From using it sparsely just a few years back, we've now reached a stage where every single component of all our environments is managed using Terraform. Hard to believe? Here's all our infrastructure code to prove it ! We've also published a few posts earlier which outline our process for managing infrastructure.Some of these are,

- Provisioning AWS Infrastructure Using Terraform

- Provisioniong AWS VPC With Terraform

- Provision AWS EC2 Virtual Machines Using Terraform

So why a new post? Terraform now supports Modules that provide an easy way to break down different parts of the infrastructure into reusable components. They also provide a Registry where users can publish their modules. Users can download "verified" modules from the registry and use them directly as building blocks for their infrastructure. We decided to give this a try by creating a complete, production-ready infrastructure(similar to what we use). The objectives of the tutorial are to

- Logically break down infrastructure components into modules

- Reuse and chain modules to create component decoupling

- Drive all configuration from one file

Extend your CI workflows using Assembly Lines

Do more with less - No one disagrees with this famous quote, but how often do we really take a step back to think about pushing the envelope with what we have right now ? At Shippable, we've tried to constantly ask this question with every feature we've built. This ideology manifests itself in the capabilities the current Shippable workflows have, compared to what they used to a few years back. All this while keeping things simple and with zero additional costs to the customers. A lot of our customers started using Assembly Lines after the launch, a year go. Most of them didn't need much help but we do admit that some steps in extending traditional CI with the new Assembly Lines are a bit complicated. The objective of this post is to provide a detailed, step by step guide, to enable any CI job on Shippable to use the power of Assembly Lines