Getting started with CircleCI

Getting started with CircleCIGetting started with CircleCI
Tyler Tyler (285)
Total time: 5 minutes 
Updated: July 14th, 2017

Continuous integration is pretty trendy, but despite that fact, it’s also pretty useful. This guide will show you how to set up your first project in CircleCI.

Posted in these interests:

code
PRIMARY
68 guides
devops
6 guides
circleci
1 guide

This guide assumes that you have a GitHub account and a GitHub repository that you want to target for continuous integration. You’ll need both of these things if you’re following along with the guide, but if you’re just here for an overview, carry on.

Create your CircleCI accountCreate your CircleCI account

The easiest way to create your account is to sign up using your GitHub account. So go to the home page at https://circleci.com and click on “Sign Up”.

Then on the next page click “Start with GitHub”

Setup your projectSetup your project

The UI for this step is currently being changed, but I will describe conceptually what this step entails. A “project” is basically a single code repository. So since you signed up with your GitHub account, you’ll need to locate the repository that you want to target and click “Setup project”.

You’ll be taken to a view where you can configure your project. Here you can choose details like OS, language, and which version of Circle you want to use. For this option, choose Circle 2.0.

Here you’ll also find instructions for configuring your repository to work with CircleCI.

A this point you can click “Start building”, we’ll configure the repository in the following steps.

Setting up your repository is fairly simple. As long as the configuration file exists, Circle will run your integration.

So let’s add the file. For Circle 2.0, you need to create a folder called .circleci and add a file called config.yml.

mkdir .circleci touch .circleci/config.yml

Once this is done we’ll add some basic configuration.

Let me begin this step by saying that any useful configuration that you will need is going to be specific to your app. This includes things like building docker images, running unit tests, etc. So I won’t be able to provide specifics in this guide for how to accomplish those things, but fortunately the CircleCI docs are adequate.

So we will start with a shell of a config, a sort of “hello world”, if you will.

Add the following to the config.yml file you just created.

version: 2 jobs: build: docker: - image: python:3.5 working_directory: /code steps: - checkout - run: name: Hello world command: echo "Hello world"

Let me explain a little bit about what is going on here.

First, the job will be run inside of a docker container. So in the “docker” section we are simply specifying the image that we want to use.

Next, we specify the working directory. For our purposes, this is just an arbitrary directory where the code will be checked out and tests are run.

Next, are the steps. Here is where we’ll do all of the important work like building, testing, shipping, etc. But for our simple example, we’re just going to checkout the code, and echo “Hello world”.

So add this configuration and save the file.

Note: If you’re application is built using docker, this can be confusing. You’ll want to read up on the notion of a primary container and remote docker.

Now add your file, commit your code, and push.

git add . git commit -m "added circle config" git push origin 
Watch your buildWatch your build

Now move over to the CircleCI dashboard, and click on “Builds”.

You should see your build added to the top of the list, and it should have a status of “Running”. Since we don’t have many steps, this will probably build very quickly and the status should soon be changed to “Success”.

Click on the build to view details. Here you can see things like how long the build took, the steps that were run, and any resources that were used.

So far we’ve created a CircleCI account, set up our project, and configured our code run the integration. So at this point, it’s time for you to dive into the docs and start adding some more steps.

We’re hiring!
Are you a passionate writer? We want to hear from you!

Want to support Howchoo? When you buy a tool or material through one of our Amazon links, we earn a small commission as an Amazon Associate.

Paul Sellers Mallet

I recently received a copy of Paul Sellers’ book on hand tools. In it, he describes the mallet he designed and gives some tips on reproducing it. Here is a link to a bit of information on his website: https://paulsellers.com/2013/04/heres-my-mallet/.

Here’s my version.

In these interests [?]
None

Laying out the mallet head on a hunk of Osage orange. Osage orange is an ideal wood for mallet heads due to its extremely tight, dense grain. It is also one of the hardest woods found in the US.

None

Chopping away with an axe. The axe is an extremely valuable tool for woodworking.

None

With a rough mallet head, I started to 4 square the head. For the uninitiated, this means making sure all four sides of the block are square with one another. I mostly used a stanley #4 plane for this job.

None

Having marked the centers of top, bottom, and one face, I began boring a hole through from bottom to top.

None

Cleaning out the hole with a chisel leaves a nice through mortise. This picture also shows the rounding of the top of the head.

None

A rough result of fitting the oak handle.

None

The head all smoothed up and some scallops taken out with a spokeshave.

None

I took some scallops out of the handle too, mostly just by feel until it felt good in my hand.

None

After much smoothing with a scraper and sandpaper, I used boiled linseed oil over the course of a few days to finish it.

Walnut Coat Rack

A gift for my mother in law, a simple coat rack made from old walnut.

In these interests [?]
None

Cutting off the bad edge.

None

Squaring up the edges.

None

Smoothing the stock with my trusty #4 plane.

None

Cutting the rabbet joint. I would’ve loved a rabbet plane for this job but all I have is the router plane. This could also be accomplished with chisels in a pinch.

None

Gluing up the pieces.

None

With the hooks attached.

I finished the wood with a mixture of 1/3 Boiled linseed oil, 1/3 polyurethane, and 1/3 denatured alcohol. Sorry, no pics!

None

On the wall! Thanks for looking!

China Cabinet Update

We found this old china cabinet on Craigslist for $50. I loved the character and love it even more now with a fresh, updated paint job!

In these interests [?]
None

The Before.

None

I decided to paint the inside with the same light taupe color I had just used for the walls in the dining room.

None

For the outside, I chose a charcoal gray color called Carbon Copy.

The glass needed to be taped off. As you can see, we had to leave the doors on since the hinges and hardware were nailed on.

None

Such beautiful hardware but I had to use a tiny paintbrush to paint around them.

None

The After.

None
None

I love the way it looks in our dining room!