Automating CI/CD for Docker with Oracle Cloud Infrastructure Registry and Developer Cloud Service

August 28, 2018 | 3 minute read
Shay Shmeltzer
Director of Product Management - Oracle
Text Size 100%:

In recent releases Developer Cloud Service (DevCS) has expanded to allow you to manage the full life cycle of Infrastructure in addition to software. One area where we made things simpler is in the management of CI/CD for Docker containers.

In this blog entry I'll take you through the basics of setting up a CI/CD chain that publishes Docker containers into the Oracle Cloud Infrastructure Registry (OCIR) - Oracle's cloud hosted docker registry. If you need a little tutorial on getting started with OCIR and docker using command lines - you can use this one.

Here is a demo video showing you how to leverage DevCS to automate the publishing process of Docker images and hook it into the Git repository in DevCS:

A few notes to help you replicate the steps I take in the video:

You will need to configure a DevCS build server that will have the docker software on it to run your builds. You do this from the "organization" menu under your user name (or get your org admin to do this for you). If you need tips, Abhinav shows you how to do it in this blog entry.

In order to work with OCIR from DevCS you'll need to have an Oracle Compute user created and have an auth token generated for it - make sure you have this token available for you as you'll need it when working from DevCS. (Note that this is separate from the password the user uses to login into the Oracle compute dashboard).

User auth in OCI

Now that you have a user, it's time to start your DevCS work. The first thing you might want to do is upload the code for a docker image into your DevCS git repository. In the video below you'll see that I'm using a very simple application and that my docker file is part of the 3 files I upload into the git repository in DevCS. (need some sample code pick up this docker getting started tutorial).

Once your code is in DevCS - the next step is to create a build jobs that pushes your code into the OCI Registry. Our job has three steps that leverage the following docker commands:

  • Login - you'll need to use your tenantName/user as the username and the auth token as the password. Your registry URL will depend on the center you are in iad - Ashburn, phx -Phoenix etc. In my case it was iad.ocir.io.
  • Build - you'll want to specify a complete image name again using your tenant/user/imageName. Also make sure to indicate where your docker file is (or provide a docker file in that step).
  • Push - here everything should already be filled out for you and ready to go.

Here is how the completed job looks like:

Docker Build Job

Now run your build - and it will build your image and if it succeed it will push it to the registry. Monitor the build's log in case you run into errors.

You can hook up the docker registry section of DevCS to point to the OCIR registry - and then you'll be able to see all the images you pushed there. Again provide your tenant/user and auth token as the login info to the repository.

Docker Registry View in DevCS

Have fun automating your docker publishing on the Oracle Cloud!

 

Shay Shmeltzer

Director of Product Management - Oracle

Shay Shmeltzer is Director of Product Management for Oracle Cloud Development Tools. He is focused on helping developers simplify and streamline their work leveraging Oracle solutions. Shay frequently presents at industry events, publishes articles, and regularly blogs about Oracle's development tools. You can also find him on Twitter at @ShayOracle.

Show more

Previous Post

Edit Form in a Popup with Oracle Visual Builder

Shay Shmeltzer | 1 min read

Next Post


Business Logic for Business Object in Visual Builder - Triggers, Object Functions, Groovy and More

Shay Shmeltzer | 2 min read
Oracle Chatbot
Disconnected