CircleCI now integrates with the GitHub Checks API, so you can see the status of your CircleCI workflows under the Pull Request Checks tab in the GitHub UI. Previously in the GitHub UI, users could only see the status of individual CircleCI jobs for a given pull request - there was no way to see the status of the workflows to which those jobs belonged. With checks enabled, users will now be able to go to the Checks tab in GitHub to view the full hierarchy and status of CircleCI builds.
This post is the second in a series that covers multi-cloud deployment. The first post, “Dockerizing Java apps with CircleCI and Jib,” addressed using Google’s Jib project to simplify wrapping a Java application in Docker. This post covers multi-cloud deployment behind a global load balancer.
In the first post, we talked about building containerized applications and published a simple Java Spring Boot application with Google’s Jib. That process is efficient at building and assembling our application, but we did not address distribution. In this post, we will look at a method of deploying our Docker application to Kubernetes and enabling global access with Cloudflare’s domain name system (DNS) and proxy services.
One of the many great things about Go (Golang) is how simple it is to run tests. With the changes we saw in Go v1.11, running tests is as simple as:
# To test only your current module go test ./... # To test your module as well as its direct and indirect dependencies go test all
In this post, I’m going to show you how we can make the output of
go testmore useful for local development as well as for CircleCI.
Modernizing federal DevOps: CircleCI becomes first continuous integration tool with FedRAMP authorization
CircleCI is now authorized by FedRAMP (the federal government’s program for assessing and authorizing technology vendors), making CircleCI the first CI/CD tool to meet the rigorous security and privacy standards required by government agencies.
This post is the first in a series that includes multi-cloud deployment behind a global DNS.
The evolution of deployment platforms and orchestration engines has been a tremendous accelerant for application and infrastructure teams alike. Clear boundaries and well defined interfaces between the layers of our technology stack means we can rapidly iterate and deploy with repeatable results. For many teams, Docker has become a key ingredient in this architecture, allowing for deployment to platforms like Kubernetes.
I have done somewhere in the range of 150 phone screens this year. Doubling your engineering organization means talking to a lot of people, and I mean a lot. I talk to them about their work history, their software philosophies, and the processes that help enable high quality software delivery. This regularly turns to processes to help enable a collaborative programming paradigm, and ultimately pairing. Inevitably I hear things like, “But, you’re fully remote!” and “How would you share a keyboard?”
How to bring a new tool to your team (and not get squashed in the process): 5 tips for successful adoption
Bringing any new tool into an organization can feel like an uphill battle. It’s difficult to overcome inertia, even with the promise of improved workflows and happier teammates. Any change is hard, harder still when colleagues have grown attached to “the way we’ve always done things.” How can you get your team to see the light when you know there’s a better way?
CircleCI 2.0 implemented build support using Docker executors. Upon releasing it, we quickly realized that one of the biggest barriers that CircleCI users encountered was a lack of experience with Docker. In this post, we will discuss Docker and some of the basic commands users should become familiar with.
What is Docker?
Here is a simplified definition of Docker:
“Docker is a platform for developers and sysadmins to develop, deploy, and run applications using containers.”
Docker is also referred to as an application packaging tool that enables applications to be configured and packaged into a Docker image that can be used to spawn Docker containers that run instances of the application. It provides many benefits including runtime environment isolation, consistency via code, and portability. Docker containers can run on any operating system that supports the Docker Engine. To our benefit, most operating systems do support it.
Image Type Time Frame More info Docker Convenience Images < 24 hours (automated) learn more Machine Image when needed (manual) learn more Xcode Image < 7 days (manual) learn more
Continuous Integration (CI) involves the test automation of feature branches before they are merged to the main Git branch in a project. This ensures that a codebase does not get updated with changes that could break something. Continuous Delivery (CD), on the other hand, builds upon CI by automating releases of these branches and/or the main branch. This allows small incremental updates to reach your users faster, in line with Agile software development philosophy.
In this article, I will take you through setting up CI with GitHub. We will use a Python application to demonstrate our CI pipeline.