Last year for Halloween, we put the call out for tales from the developer crypts that have kept haunting you, lo these many years.
We had so much fun we decided to do it again, and the timing proved eerie…
In CircleCI 2.0, teams now have more flexibility than ever in how they choose to run Workflows. Your jobs can be complex (or as simple as you’d like) and jobs don’t necessarily run sequentially.
When we delivered Workflows, we wanted to offer you a way to break up your jobs and choose when and how you’d like to orchestrate your configurations. BUT you were still stuck– it was still up to you to figure out a way to run your jobs in a way that doesn’t break anything, or that you’re not wasting time waiting for them to run. You were forced to make many separate decisions about how and when to run jobs, even jobs you ran daily.
Google Chrome is the most-used browser on the Internet. And people are creating Chrome Extensions for all kinds of use-cases. Within 24 hours of Twitter announcing their 280 character tweets test, a new Chrome Extension collapsing tweets back to 140 characters was born. Within days of the hurricane in Puerto Rico, a $0.99 extension called Donate to Puerto Rico was created, showcasing beautiful images of the island, with all proceeds going towards charities helping rehabilitate the island.
In a space that moves this quickly, we can automate the delivery of features, bug fixes, and security patches with Continuous Deployment. Google’s Chrome Developer Docs has a lot of information but doesn’t include anything on Continuous Integration or provide examples for automated deployment. We’ll cover one example in this post along with how we can tackle development environment challenges and versioning.
What follows is a letter to potential CircleCI employees, from our Head of Human Resources, David Mann.
Dear CircleCI Candidates,
I wanted to share our philosophy and standards around the hiring process to give you more clarity about what you should expect from us, and what we’ll look for from you.
Overall, know this: we respect you. And we’re honored you’re interested in joining our team.
To make the interview flow go smoothly, we have some standards we live by. We’re not perfect, but we do our best to make the getting-to-know-each-other process as enjoyable as possible. And as you consider joining our team, I want to share with you the thinking behind our methodology.
Scaling a microservice architecture has a number of challenges. You’ll hear people talk about having “thousands of services” where they get to “have the right tools for the job” all the way down to their languages. This is all well and good, but thousands of things are not always great.
For instance, things I would rather not have thousands of:
And at the top of the list: Java Maven Dependencies
In the previous installment, we saw how Docker images add power and customization to the build process. In this installment we’ll show you how to amplify that power by using the CircleCI 2.0 Workflows feature.
Simply stated, Workflows adds a simple coordination layer between jobs. Let’s start by visualizing a simple workflow:
This week, leading research firm Forrester released their first-ever Forrester Wave for Continuous Integration. Our team at CircleCI spent a considerable amount of time working with the research team at Forrester, and we’re proud to be named a leader in the space. You can go read the report here, but there’s a larger point we think is worth exploring: why is there so much attention on continuous integration right now? Why are Forrester’s clients asking them to provide research and analysis on which CI tools and companies are worth paying attention to?
This post is a follow-on of our overview of persisting data in Workflows. To learn all about how to best use workspaces, caching and artifacts, read our introductory post here.
Workspaces are a feature of Workflows and are used to move data from a job in a Workflow to subsequent jobs.
The name “workspace” may conjure up an image of a single storage location which jobs can add to and remove from at will. However, Workflows can introduce a lot of concurrency into a build process, and there is no defined order that concurrent jobs run in. In these circumstances a single mutable storage location leads to jobs flip-flopping from pass to fail in different workflow runs since they never get a consistent view of the workspace contents. This significantly impacts your ability to get a repeatable build process if your workflow has concurrent jobs.
CircleCI 2.0 provides a number of different ways to move data into and out of jobs, persist data, and with the introduction of Workspaces, move data between jobs. Using the right feature for the right task will help speed up your builds, improve repeatability, and improve efficiency.
The benefit of faster CI runs will be clear to anybody who’s waited for the CI to go green.
Repeatability is also important. A repeatable CI process means that if you run the same process again against the same SHA from your repo, you will get the same result. When a CI process isn’t repeatable you’ll find yourself wasting time re-running jobs to get them to go green.
Since our early days, CircleCI has purposely embraced building a global workforce. This simple choice has given us many advantages. First, we have access to the best talent on Planet Earth. The great variety of viewpoints we have access to helps us make better decisions. Equally important: it allows us to continuously deliver value to our customers 24 hours a day. Having team members all over the world brings many advantages for us as a company.
What’s even more valuable, though, is knowing that the flexibility to work remotely confers some pretty great benefits on our global employees as well.
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.