Running builds in continuous integration/continuous deployment (CI/CD) pipelines is a great way to automate your repetitive deployment and testing tasks. However, if you have tons of tests, build steps, or other slow setup tasks, it can heavily bog down your build and drive the feedback duration through the roof! Long feedback cycles are friends to no one and slow down development lifecycle, so the next logical step is to find ways to reduce the duration wherever possible. Some of us may run tests within our build steps in parallel or perhaps take unnecessary shortcuts in pursuit of shaving some time, though these solutions may not always work optimally in the end. Let’s take a look at how we can harness the power of CircleCI 2.0’s workflows and how running jobs in parallel can unlock a whole new world of speed for our teams and us.
At CircleCI we have been a pillar of DevOps since its inception, dedicating ourselves to redefining efficiency in software delivery, and engaging with many of the world’s most effective software organizations. As we’ve watched our industry grow and evolve, we’ve remained committed to our mission of helping the world’s best software organizations improve the way they build, test, and deploy software. Today represents a big step forward in that mission, as we open our platform to partners and community contributors in a first-class way.
Today I am pleased to announce our new Technology Partner Program. With the launch of our partner program, CircleCI is no longer just the preferred DevOps tool of thousands of top engineering organizations, but is now an open platform ready for partners, teams, and developers the world over to build upon.
Data science is no longer a niche topic at companies. Everyone from the CEO to the intern knows about how valuable it is to take a scientific approach to dealing with data. Consequently, many people not directly in software engineering fields are starting to write more code, often in the form of interactive notebooks, such as Jupyter. Software engineers have typically been huge advocates of build systems, static analysis of code, and generating repeatable processes to enforce quality. What about business people who are writing code Jupyter Notebooks? What processes can they use to make their data science, machine learning, and AI code more reliable?
Mozilla likes to work in the open as much as possible, which means we primarily do our development in publicly accessible code repositories, whether we expect outside collaborators or not. Those repositories, however, still need to hook into other systems, which sometimes involves managing sensitive credentials. How can we enable those connections to provide rich workflows for maintainers while also providing a great experience for outside contributors?
We are going to build an example Java project in GitHub that uses CircleCI to run tests for all pull requests (PRs), whether from a branch on the main repository or a fork. We will then add conditional logic that will build and deploy a java jar artifact to Amazon S3 when trusted committers push code to the main repository.
This is a guest post written by Drew Varner. It originally appeared on the NineFX blog, and has been republished here with his permission. We hope you enjoy!.
NineFX, a HUBZone/SDVOSB-certified, value-added reseller for CircleCI, supports both commercial and federal government customers. The software that we ship to our federal customers must meet specific regulatory requirements from the National Institute of Standards & Technology (NIST). NIST’s Federal Information Processing Standard (FIPS) 140-2 is the standard that governs cryptographic modules in federal software.
Because we service both commercial and federal customers, in this post I will describe how we use CircleCI workflows to provide timely feedback on our software’s support of FIPS 140-2 cryptography, enabling us to monitor a project’s FIPS compatibility.
As of October 24th, 2018, the current release is Node v11.x and the Long Term Support (LTS) release is Node v8.x. However, sometime this month Node v10.x will be moved over to be the new LTS release. This can affect your use of our Node variant Docker images.
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.