Getting started with Continuous Delivery for PE
Greetings! Welcome to Continuous Delivery for PE. If you're trying out the software for the first time, this getting started guide is for you. As a new user, you'll need to perform some initial workspace setup tasks, and then we'll show you how to begin using core features of Continuous Delivery for PE.
You're just a few steps away from a more streamlined, powerful, and flexible Puppet code delivery process. Ready to get started?
Step 1: Install Continuous Delivery for PE
First, use the main documentation to install Continuous Delivery for PE.
Step 2: Create your user account and set up a workspace
Think of a workspace like a neighborhood within the Continuous Delivery for PE city. Your workspace is where you store and access resources such as control repos, pipelines, and jobs. When you're ready to collaborate, you can invite the members of your team to join your workspace.
- If you haven't already done so, navigate to the Continuous Delivery for PE web UI address you received at the end of the installation process in Step 1.
-
Create your user account.
-
Set up a workspace.
- On the Choose a workspace screen, click + Add new workspace.
- Enter a name for your workspace and click Create workspace.
Step 3: Set up integrations
Next, it's time to set up integrations with your PE instance and the source control system where you keep your Puppet code.
We're sending you to our integration docs to complete these tasks.
- Follow our Integrate with Puppet Enterprise instructions.
- Follow the Configure impact analysis instructions.
- Select your source control system from the list below and follow the integration instructions:
-
Optional. To make sure you're always running the latest available version of the
software, install the
puppetlabs-cd4pe
module to automate upgrades of Continuous Delivery for PE.
Step 4: Configure job hardware
You'll now configure a node running a Puppet agent as a job hardware server, where your code will be tested before deployments.
- Install a Puppet agent on the node you plan to use as job hardware. See Installing agents in the PE documentation for details.
-
Make sure your Continuous Delivery user
role in PE includes the permission to
run the
cd4pe_jobs::run_cd4pe_job
task. -
Install the
puppetlabs-cd4pe_jobs
module, which is required to run Continuous Delivery for PE jobs on your node: - We want this job hardware server to be able to use the pre-built jobs included in Continuous Delivery for PE. Since these jobs are Docker-based, you must install and configure Docker on the node. See the Installing Docker instructions for details.
-
Finally, tell Continuous Delivery for PE that this node is ready to be
used as job hardware for Docker-based jobs by
assigning it to a hardware capability. Capabilities organize your job hardware
servers and ensure that jobs run on hardware with the right characteristics. Continuous Delivery for PE automatically creates a
Docker hardware capability for you.
Step 5: Add a control repo
A control repo in Continuous Delivery for PE tracks the changes made on the active development branch of your source control system. When adding a control repo to Continuous Delivery for PE, it's important to connect the master Git branch.
When you set up your new control repo, Continuous Delivery for PE adds a webhook to the associated repository in your source control system. The webhook reports new commit activity on the repository to Continuous Delivery for PE, enabling you to track code changes and take action.
Step 6: Set up a pipeline
Pipelines in Continuous Delivery for PE are made up of stages and tasks. Tasks include jobs to test code, deployments, and impact analysis; stages group tasks into a series of sequential phases.
Step 7: Set up an environment node group
To give us a place to demonstrate how Continuous Delivery for PE deploys new code to your Puppet Enterprise- managed nodes, we'll next set up a small environment node group to use for deployment testing.
Step 8: Deploy changes to your nodes
Once you've added a deployment to your pipeline, you can automatically move code changes to your nodes following the deployment conditions you've set.
- In the Continuous Delivery for PE web UI, in your control repo's pipeline, click Add a deployment.
- Select your PE instance, then select the CDPE test group node group we created in Step 7.
- Select the Direct deployment policy. Don't worry about setting special conditions for this deployment.
- Click Add deployment to stage. On the confirmation screen, click Done.
- Now we need a change to pass through to production. In your Git repository, on the master branch, make a code change such as updating a package version. Commit the change and then return to the Continuous Delivery for PE web UI to watch your pipeline in action.
Step 9: Create an impact analysis report
An impact analysis report shows the potential impact that new Puppet code will have on the nodes and resources you're managing with PE. You can add impact analysis tasks to your pipeline, and you can generate impact analysis reports on demand, as we'll do in this step.
Congratulations! You've reached the end of this introductory guide. You're now familiar with some of the core features of Continuous Delivery for PE, and have a basic understanding of how the software helps you deploy Puppet code and preview the impact of changes.