• Lessons Learned Migrating from CircleCI 1.0 to CircleCI 2.0

    Today, we’re happy to have this guest post written by Andrew Taylor, Community Engineer at Pantheon, about their experience migrating to our 2.0 platform. Read on for their tips and takeaways.


    I work at Pantheon, a WordPress and Drupal development and hosting platform, where a large part of my role is to help developers take advantage of our platform by creating examples of complex workflows. In February 2016 I started an Advanced WordPress on Pantheon repository with the goal of setting up an enterprise grade WordPress workflow.

    The project has source files committed to GitHub, with production versions and dependencies ignored. I needed a way to turn the source code into production code, deploy it to Pantheon and run automated testing. Naturally, I used continuous integration to solve this problem.

    I chose CircleCI due to their generous free tier, allowing 1 worker for private projects and 4 workers for open source projects. Since I created a public project this was perfect - I was able to adopt CircleCI for my build, deploy and test steps.

    Continue reading “Lessons Learned Migrating from CircleCI 1.0 to CircleCI 2.0”

  • A Brief History of DevOps, Part I: Waterfall


    (This is part one of a four-part series. Read parts two, three, and four here.)

    Software engineers spend most of their waking hours wading through the mud of their predecessors. Only a few are lucky enough to see green fields before conflict transforms the terrain; the rest are shipped to the front (end). There, they languish in trenches as shells of outages explode around them. Progress is usually glacial, though ground can be covered through heroic sprints.

    But veterans do emerge, scarred and battle-hardened. They revel in relating their most daring exploits and bugfixes to new recruits. And just as individuals have learned individual lessons about writing code, our industry has learned collective lessons about software development at scale. It’s not always easy to see these larger trends when you’re on the ground — buried in bugs and focusing fire on features.

    Continue reading “A Brief History of DevOps, Part I: Waterfall”

  • We raised our Series C: What’s next?

    Today we announced a $31M Series C by Top Tier Capital Partners alongside Industry Ventures and Heavybit, who join existing investors Scale Venture Partners, Baseline Ventures, Harrison Metal, and DFJ Ventures. There are more details in the release here, but I wanted to share our plans for our new funding, and what you should expect from CircleCI in the future.

    When CircleCI launched in 2011, the world was much simpler. Rails monoliths were all the rage, Docker didn’t exist, and the latest iPhone was a 4s. Today, the world is much more complicated. Teams are running thousands of microservices in a single product, building in multiple languages, and supporting it all in the cloud.

    It’s clear that our world will only continue to become more complex. We need our tools and systems to not only evolve to meet this need, but to become smarter. The demand on engineering teams show no signs of slowing down: every team is asked how they can build high quality products faster, more securely, and more productively. We believe we can help teams solve these issues, and I want to share a little about our plans for how we will start to tackle this this year.

    Continue reading “We raised our Series C: What’s next?”

  • Build Custom Docker Images Faster and More Easily with our Dockerfile Wizard


    The ascendance of Docker and other containerization/virtualization tools over the past few years has helped bring about about a new focus on some software development values that are dear to our heart at CircleCI—consistency, automation, and continuity; that is, developing software within a consistent build environment, testing it in an automated fashion, and deploying it with a focus on continuous delivery of new code.

    We released CircleCI 2.0 last summer with these values in mind, placing Docker at the core of our Continuous Integration platform and allowing customers to build projects on CircleCI using any combination of Docker images as build environments.

    In practice, however, building and customizing your own Docker images with the precise versions of every language and dependency that you need can be tricky, tedious, and intimidating—especially for software developers who are still new to Docker. For that reason, we publish a wide range of convenience Docker images with common combinations of software toolsets and build environments.

    But what if you’re using an older version of such-and-such tool that our convenience images don’t cover, or just want more options? Well, now we’ve developed a Docker tool that might help.

    Continue reading “Build Custom Docker Images Faster and More Easily with our Dockerfile Wizard”

  • Predictions for 2018 from Rob Zuber, CTO at CircleCI

    The past year has seen some great steps forward in the world of engineering, from our own learnings on making hard technical decisions to seeing once-fringe development practices get mainstream recognition. The coming year holds great promise for more growth in the world of DevOps and software development more generally. Here’s what I see on the horizon:

    Continue reading “Predictions for 2018 from Rob Zuber, CTO at CircleCI”

  • Migrating from buddybuild to CircleCI

    After an acquisition by Apple, yesterday buddybuild announced they will be discontinuing service for Android builds and free iOS plans. Congratulations are in order to the buddybuild team, though the news has left some teams looking for a replacement CI system for their mobile builds. We put together this comparison to help teams decide whether CircleCI is the right tool for them.

    How do CircleCI and buddybuild compare?

    CircleCI buddybuild
    Mobile support (macOS, Android)
    Non-mobile project support
    Build isolation for macOS and Android
    Support for open source projects
    Automated uploads to iTunes Connect
    Run macOS and Linux jobs in the same Workflow
    Manual approval step with Workflows
    Configuration in the UI
    Collaborators without GitHub / Bitbucket access

    Continue reading “Migrating from buddybuild to CircleCI ”

  • 10 Ways You're Doing DevOps Wrong


    The term DevOps is getting a lot of attention these days, and for good reason: adopting DevOps practices helps teams work more efficiently, ship better code and make customers happier. But along with the term’s increasing popularity, we’ve also seen some common pitfalls teams attempting to “do DevOps” fall into.

    Continue reading “10 Ways You're Doing DevOps Wrong”

  • Don't Let Code Freeze Leave You Out in the Cold

    7 Things to Do Instead of Deploying


    Around this time of year, many companies institute a “code freeze” that puts a stop to new deploys for a certain period of time (often to wait out the holiday retail rush, or until teams are back in full force in the office post-vacation).

    While new features may not be going out to customers during this time, that doesn’t mean that meaningful work isn’t happening on engineering teams. This is a time that is full of planning, roadmapping, and setting teams up for success in the coming year. It can also be a fruitful time for personal or team-wide experimentation, goal-setting, and fine-tuning of existing systems (for example, migrating from CircleCI 1.0 to 2.0)

    Continue reading “Don't Let Code Freeze Leave You Out in the Cold”

  • How to Build Immutable Infrastructure with Packer and CircleCI Workflows

    HashiCorp recently announced that they are deprecating Atlas and will offer Terraform Enterprise as a standalone product to its customers. In this post, we will outline how to replicate your Atlas pipeline with Packer and CircleCI, with examples of Packer job configuration, AMI generation, using Terraform to manage change, and storing artifacts in S3.

    Continue reading “How to Build Immutable Infrastructure with Packer and CircleCI Workflows”

  • How to Handle Java OOM Errors


    Trying to keep Java’s memory usage under control in a CI environment can be something of a dark art.

    With the wealth of build frameworks available for Java/Android projects — Java, Gradle, Maven (not to mention Kotlin and its own tooling ecosystem) — it can be difficult to control where your memory is going and how to limit it. There are a variety of different environment variables you can set to manage memory usage, all with similar names and syntax. These variables interact with one another in ways that might not initially make much sense.

    Continue reading “How to Handle Java OOM Errors”

Get New Posts Delivered

Sign up to receive fortnightly blog highlights

Thank You for Submitting Your Info

You should receive an automated response notifying you that we received your info. Someone from our Enterprise team will be reaching out to you shortly.

CircleCI Success Logo