Skip to content

Latest commit

 

History

History
114 lines (84 loc) · 4.42 KB

11-pipeline-job.md

File metadata and controls

114 lines (84 loc) · 4.42 KB

Building Continuous Delivery (CD) Pipelines

Creating a Pipeline Job

  1. Have a look at the repository bmuschko/todo-spring-boot on GitHub. The repository already contains the build definition in the form of a Jenkinsfile. Identify each of the steps.
  2. In Jenkins, set up the credentials SONARCLOUD_TOKEN and HEROKU_API_KEY if they don't exist yet.
  3. Create a new multi-branch pipeline job for the repository.
  4. The initial build is triggered automatically. Have a look at the pipeline in the standard view and its console output.
  5. Install the Blue Ocean plugin.
  6. Open the Blue Ocean pipeline visualization for the job. Manually trigger the deployment step. Open a browser with the deployed application on Heroku.
  7. Create a new branch named bugfix and push it to the remote repository. The code should be based off of master.
  8. Select "Scan Multibranch Pipeline Now". The job should build the new branch.
Show Solution

The created credentials required for the job.

Credentials

Create a new item from the dashboard.

Multi-Branch Pipeline Job

Point the job to the SCM.

Multi-Branch Pipeline Job

Upon pressing the OK button, the job will scan all available branches in the repository.

Started
[Thu Jul 18 09:23:53 MDT 2019] Starting branch indexing...
 > git --version # timeout=10
 > git ls-remote --symref [email protected]:bmuschko/todo-spring-boot.git # timeout=10
Creating git repository in /Users/bmuschko/.jenkins/caches/git-a68a5e08a54549aaef01872e9adb6218
 > git init /Users/bmuschko/.jenkins/caches/git-a68a5e08a54549aaef01872e9adb6218 # timeout=10
Setting origin to [email protected]:bmuschko/todo-spring-boot.git
 > git config remote.origin.url [email protected]:bmuschko/todo-spring-boot.git # timeout=10
Fetching & pruning origin...
Listing remote references...
 > git config --get remote.origin.url # timeout=10
 > git --version # timeout=10
 > git ls-remote -h [email protected]:bmuschko/todo-spring-boot.git # timeout=10
Fetching upstream changes from origin
 > git config --get remote.origin.url # timeout=10
 > git fetch --tags --force --progress origin +refs/heads/*:refs/remotes/origin/* --prune
Checking branches...
  Checking branch master
      ‘Jenkinsfile’ found
    Met criteria
Scheduled build for branch: master
Processed 1 branches
[Thu Jul 18 09:23:57 MDT 2019] Finished branch indexing. Indexing took 4 sec
Finished: SUCCESS

You can see the different stages of the pipeline in the standard view.

Standard Pipeline

You can see the different stages of the pipeline in the standard view.

Standard Pipeline

To console output allows for triggering or aborting the manual deployment step.

Console Manual Step

Install the Blue Ocean plugin.

Blue Ocean Plugin

The Blue Ocean pipeline view offers a UI element for triggering a manual step.

Blue Ocean Manual Step

Press the button for processing with the manual step.

Blue Ocean Triggered Manual Step

The finished pipeline in Blue Ocean.

Blue Ocean Finished Pipeline

Check out the repository and push a new branch.

$ git clone [email protected]:bmuschko/todo-spring-boot.git
Cloning into 'todo-spring-boot'...
remote: Enumerating objects: 230, done.
remote: Total 230 (delta 0), reused 0 (delta 0), pack-reused 230
Receiving objects: 100% (230/230), 108.69 KiB | 452.00 KiB/s, done.
Resolving deltas: 100% (105/105), done.
$ cd todo-spring-boot
$ git branch bugfix
$ git checkout bugfix
Switched to branch 'bugfix'
$ git push origin bugfix
Total 0 (delta 0), reused 0 (delta 0)
remote:
remote: Create a pull request for 'bugfix' on GitHub by visiting:
remote:      https://github.com/bmuschko/todo-spring-boot/pull/new/bugfix
remote:
To github.com:bmuschko/todo-spring-boot.git
 * [new branch]      bugfix -> bugfix

After scanning the repository, the new branch will be available and was triggered to build automatically.

Bugfix Branch