Version 1.1.0 of vRelize Code Stream has been released today. For those who are not familiar vRealize Code Stream is a release automation tool for continuos integration / continuos development environments allowing for a rapid development, testing, and provisioning of environments.
New features in this latest release include:
Getting Started Tab – Provide step-by-step instructions on how to do initial vRCS configuration and create a release pipeline with the help of videos and documentation.
Release Pipeline Modeling Enhancements – Drag & Drop Stages and Tasks, Copy Tasks and Cancel pipeline execution.
Simplified Endpoint Registration Support for Jenkins server and vRealize Automation server.
So far I have covered how to setup Git, Eclipse, Jenkins, Code Stream, and a little Artifactory. We have Eclipse checking code into Git and Jenkins pulling the code and simply building it into a tar.gz file. We also have Code Stream setup to use Artifactory and established the means by which Code Stream will talk to Jenkins, but we are still missing some pieces we need before we can really dig into how to use Code Stream. I know this may seem a bit confusing, but I promise it will all make sense very soon.
We now need to connect Jenkins to Artifactory. Why you ask? We are going to connect Jenkins to Artifactory so it can publish the tar,gz file as an artifact in the Artifactory repository. We need to do this so we can later have code stream pull it from Artifactory. the cool part is not only can we utilize this artifact with Code Stream, but it can be used with out solutions as well like vRealize Application Services if we wanted. Ok let’s not get to far ahead. In this article we are simply going to connect Jenkins to Artifactory and modify our build to publish the tar.gz file as an artifact to a repository.
For those of you who are fortunate enough to be able to get a trial for Code Stream this article will walk you through the installation and initial configuration of the product. Code stream as the name suggest is part of the vRealize product line and shares the same identity appliance and virtual appliance as vRealize Automation. Because of this I will be referring to articles I have already written for portions of the installation in an effort to not re-invent the wheel.
*Note – The instructions in the above referenced article may vary slightly from the vRCS Virtual Appliance, however it should be close enough that you should not have any issues following along.
On step 21 input the Code Stream License Key instead of the vRA license key, or both if you like.
3. For instructions on how to setup Tenants in vRealize Code Stream please see Adding Tenants in vRealize Autoamtion 6.x.
On step 7 you will not be able to add a user to the “Infrastructure Administrator” role as that is a construct of vRealize Automation. If you are running code stream and vRealize Automation on the same virtual appliance you can add users/groups to this role.
In part 1 of this article we deployed both GitLab and Jenkins, configured a Git project and connected it to the Eclipse IDE. In this article we will focus on configuring the Jenkins server to work with our GitLab repository and crate a Jenkins job to build our project.
Configuring Jenkins for GitLab
1. Before we can create a job we need to add some plugins to the Jenkins server for GitLab. We need to make sure we have the following plugins installed by going to the Jenkins server, the Manage Jenkins, and then Manage Plugins.
2. Next go to the “Installed” tab to see which if any of the needed plugins are already installed. The plugings that are needed are:
I realize many of you looking to understand what Code Stream can do to help you with your Continuous Integration needs already have Git Jenkins and a whole ton of other tools. However for those who don’t yet have anything in place or for those who are looking to get a better understanding of where it fits into the mix I am going to walk through some simple setup examples to get you up and going. To start we need to have two foundational elements in place; Git and Jenkins.
As part of the Git setup I’m going to help you get Git in place and tie your IDE (Eclipse) into Git for publishing code check-ins to your repository. Then we will deploy a Jenkins server and integrate both Git with Jenkins to create simple builds that we can use with Code Stream.
What we need to get started
To begin we will need to have two servers deployed in the environment. The first will be got Git and the second for Jenkins. In my lab I deployed Centos 6.3 because I already had a template available. I would recommend you have these deployed and ready.
Deploying a Git Server
I choose to use GitLab community edition for my Git server. It seemed to offer the most options and flexibility for the lab. The gitlab community edition is available at https://about.gitlab.com/downloads/.
Once you choose the version that appropriate for your OS version the installation is pretty simple. Gitlab provides you with basic installation steps which as pretty straight forward. Those installation steps for Centos 6 are:
vRealize™ Code Stream™ is a new release automation product that allows teams to deliver software rapidly, reliably and of higher quality, all the while lowering manual overhead and operational risks. It is particularly relevant for organizations that have a Continuous Delivery or DevOps initiative. Code Stream allows developers and operations teams to release software more frequently and efficiently, all the while leveraging their investments in existing development and operations tools. For customers who already use vRealize Automation, vRealize Code Stream is a complementary offering that extends automation to the entire release process itself. Beyond provisioning, it integrates with Continuous Integration, repository and testing solutions to push new software automatically from Development and Test to Staging and Production environments, saving the time and errors typically associated with manual procedures and hand-offs.
Code Stream 1.0 is available as a virtual appliance and offers major new capabilities, some of which are highlighted below: · Pipeline Automation: automating any release process for any kind of software thanks to Code Stream’s flexible pipeline modeling engine. · vRealize Automation integration: out of the box integration with vRA 6.2 and 6.1 to automate vSphere machine provisioning as a part of the release process. · Governance: gating rules that, based on test results or manual approvals, control whether an application build should be promoted to the next stage. · Artifact management: tracking and managing software artifacts thanks to an embedded version of JFrog Artifactory Pro, the market leader in repository management. · Release Dashboard: provides full visibility into the release process by reporting on relationships between pipelines, artifacts, and machines on which they have been deployed. · Extensibility: pre-built integrations with Jenkins, Yum, Nexus, testing frameworks, BASH or PowerShell scripts, and an extensible plug-in model powered by Artifactory and vRealize Orchestrator.