• 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”

  • From Code Cowboy to Infrastructure Architect

    5 things I wish I’d known as a developer


    There’s a difference between understanding how to write an app, and understanding the infrastructure that works underneath it. When I transitioned from a developer to an SRE (site reliability engineer) this year, and saw how distributed systems worked at an actual company, it really changed the way I thought about writing code.

    When you’re doing software development exclusively you’re not thinking about how it’s going to be held up. When I deployed my first website, I had no idea how to lay this down. I didn’t care much about writing tests. Let’s keep it real: I just cared about adding new features and seeing the end product. I didn’t understand how to host static images, or configure a server.

    Here are some things I wish I’d been more focused on when I was just working on development:

    Continue reading “From Code Cowboy to Infrastructure Architect”

  • The Feedback Loop: How to Adapt to Constant Change


    We live in an accelerating world.

    Information is being created, disseminated, processed, and regurgitated at unprecedented rates. But our brains aren’t adapting to this breakneck pace; as the amount of things increases, our attention spans have been decreasing to protect ourselves from the incessant barrage of information.

    And the world is changing to compensate for our lack of focus. Facebook and Twitter deliver endless feeds of bite-sized content, bombarding brains with dopamine — Burberry’s releases fresh designs one day after showcasing them — and the twin artforms of emoji and memes distill our thoughts into images.

    Continue reading “The Feedback Loop: How to Adapt to Constant Change”

  • Continuous Drupal Part II: Drupal 8 CI

    We’re learning how to move faster with Drupal, moving changes from a dev’s laptop to production quickly while maintaining (if not increasing) quality. In part 1 of this Continuous Drupal series, we covered how to get up and running with Drupal using a modern toolset. In this post we’re going to continue where part 1 left off and bring our Drupal website into CircleCI. We’ll run QA tests on the site to make sure everything is running as expected, and optionally PHPUnit test for custom modules or themes we may have. Let’s dive in.

    Continue reading “Continuous Drupal Part II: Drupal 8 CI”

  • Onboarding onto a Distributed Team: Reach Out and Ask Someone


    I started at CircleCI HQ in San Francisco as a Solutions Engineer this past August. With a job history of working at much larger companies such as eBay and PayPal, being at a start-up was a big change for me.

    And so I found myself grappling with a new problem: how to onboard. I was more accustomed to super structured week-long (or even longer) onboarding formats, which I had found to be dry and data-heavy.

    At CircleCI, the culture is very remote friendly. My manager Kevin lives in Seattle and works remotely from there. I have co-workers on my team based out of New York and Colorado. For my first week, Kevin traveled down to the San Francisco office to welcome me and to kick off the onboarding process. It was really helpful to have some 1:1 training time and to get some suggestions on what areas to continue focusing my time on. Solutions Engineers lead the technical implementation and day-to-day management of CircleCI Trials, ensuring early customer success and a long-term business relationship. New hires in this role often start with a week on support duty to help learn the product.

    After the newness and excitement of my first week, I felt a little unsure of the best way to soak up more CircleCI tribal know-how. There were plenty of people who could answer any technical questions I might have, but during those beginning days and weeks I didn’t always know quite what (or whom) to ask.

    Continue reading “Onboarding onto a Distributed Team: Reach Out and Ask Someone”

  • One More Thing: Apple Developers Can Now Build for macOS, iOS, tvOS, and watchOS on CircleCI 2.0

    Starting today, CircleCI 2.0 is available for customers building applications for iOS, macOS, tvOS, or watchOS. Teams building for Apple devices can now access Workflows to customize their app delivery pipeline, build for Apple platforms, Android, and Linux using a single configuration file, and have complete control over their Xcode versions.


    Developers can now also schedule jobs, making tasks like simultaneously updating apps across all operating systems in the App Store and Google Play Store easy.

    Continue reading “One More Thing: Apple Developers Can Now Build for macOS, iOS, tvOS, and watchOS on CircleCI 2.0”

  • How Code for America Hacks Perfectionism to Ship Value Every Day


    We’ve recently been exploring signals around engineering productivity in order to share metrics teams can look at to know if they are on the right track (more on this to come). To be frank, we were surprised to see that Code For America was leading the pack in measures of engineering velocity. We spoke to two members of their team, John O’Duinn and Ben Sheldon, to learn more about how a non-profit focused on delivering services for the public sector is able to maintain incredible speed and engineering productivity.

    Continue reading “How Code for America Hacks Perfectionism to Ship Value Every Day”

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