Skip to content

Deploying to a CFPB dev server

MissyM2 edited this page May 20, 2020 · 2 revisions

CFPB uses Jenkins jobs for their testing and deployment processes. Here's how to deploy to a CFPB dev server, distilled from their docs and made as understandable as possible for regular people who haven't worked at CFPB forever.

Push Raft branch to CFPB branch

git push upstream my-money-calendar:my-money-calendar-tool

Make a Reservation

CFPB only has 4 dev servers available, so be polite and check if there are any vacant slots. If there aren't, ask if anyone would mind letting you use a dev server in CFPB Mattermost.

Checking Reservations

In CFPB Mattermost, open up a direct message to cfpbot. Send this:

ec2 reserve-ls

Shia LaBot will send you back a table of current dev server reservations.

Making a Reservation

Message cfpbot with this command:

ec2 reserve SERVER BRANCH DESCRIPTION

An example of this would be:

ec2 reserve DEV4 my-money-calendar-tool Digital money tools PWA demo

Note: This just declares a reservation so other people can see that you're using a server. It doesn't deploy anything.

Deploy Your Branch

Next, go to the development Jenkins server and login: https://zusa.demo.cfpb.gov/

In the search field, type cf.gov-ansible-pipeline and hit enter.

Click the "Build with Parameters" link in the left sidebar.

In the "GIT_TAG" field, enter origin/your-branch-name replacing "your-branch-name" with the actual name of your branch.

Select the appropriate server from the "DEPLOY_ENV" dropdown.

Check the "REBUILD" box in order to force Jenkins to re-run build scripts and create a new deployable artifact.

Click Build.

Watching Progress

Once you've started a build, you'll see a new job appear in the list in the sidebar. Hover over its job ID and click on the disclosure triangle. Select Console Output. This is the live text output of the build job, with links to each of the sub-tasks it's responsible for running. If your build fails, click on the link to the sub-task that failed and look at its console output for info on what caused the failure.

When the job completes, your branch should be successfully deployed to your selected dev server.

Clone this wiki locally