diff --git a/04-scm-configuration.md b/04-scm-configuration.md index 7465887..bc6246a 100644 --- a/04-scm-configuration.md +++ b/04-scm-configuration.md @@ -1,6 +1,6 @@ # Key CI/CD/Jenkins Concepts and their Usage -## Configuring a GitHub repository +## Configuring a GitHub Repository 1. Create a new freestyle job named `gradle-initializr`. 2. Configure Git as the SCM and use the repository URL `git@github.com:bmuschko/gradle-initializr.git`. Only build from the branch `master`. diff --git a/05-test-execution-and-reporting.md b/05-test-execution-and-reporting.md index 6cf8fbd..e74da73 100644 --- a/05-test-execution-and-reporting.md +++ b/05-test-execution-and-reporting.md @@ -1,6 +1,6 @@ # Key CI/CD/Jenkins Concepts and their Usage -## Displaying JUnit and JaCoCo test results +## Displaying JUnit and JaCoCo Test Results 1. Configure the `gradle-initializr` project to parse the JUnit XML results for unit test. The files can be found in the directory `build/test-results/test`. 2. Execute the build twice to generate a graph. Have a look at the executed tests in the test results. diff --git a/06-notifications.md b/06-notifications.md index db0ce98..4186c0d 100644 --- a/06-notifications.md +++ b/06-notifications.md @@ -1,6 +1,6 @@ # Key CI/CD/Jenkins Concepts and their Usage -## Notifying the team upon a broken build +## Notifying the Team Upon a Broken Build 1. Change the list of Gradle tasks to `doesnotexist` to emulate a failure. The build will fail as the task doesn't exist in the build script. 2. Install the Google Chat plugin. diff --git a/07-artifacts.md b/07-artifacts.md index f2a85f6..c8942cd 100644 --- a/07-artifacts.md +++ b/07-artifacts.md @@ -1,6 +1,6 @@ # Key CI/CD/Jenkins Concepts and their Usage -## Storing and fingerprinting artifacts +## Storing and Fingerprinting Artifacts 1. Create a post-build action for archiving JAR file with the pattern `build/libs/*.jar`. 2. Execute the build. The build should list the artifact `gradle-initializr-1.0.0.jar`. diff --git a/08-matrix-security.md b/08-matrix-security.md index cf3e604..0b1138b 100644 --- a/08-matrix-security.md +++ b/08-matrix-security.md @@ -1,6 +1,6 @@ # Key CI/CD/Jenkins Concepts and their Usage -## Creating a user and setting permissions +## Creating a User and Setting Permissions 1. Ensure that you are logged in as admin user. 2. Create a new user named `miller`. Provide the relevant information. diff --git a/09-rest-api.md b/09-rest-api.md index 2b103fd..cd77c49 100644 --- a/09-rest-api.md +++ b/09-rest-api.md @@ -1,6 +1,6 @@ # Key CI/CD/Jenkins Concepts and their Usage -## Using the REST API for common operations +## Using the REST API for Common Operations 1. Create a new user named `buildbot`. 2. Add adminstration permissions for the user. diff --git a/10-distributed-builds.md b/10-distributed-builds.md index ee42802..3f8da84 100644 --- a/10-distributed-builds.md +++ b/10-distributed-builds.md @@ -1,6 +1,6 @@ # Key CI/CD/Jenkins Concepts and their Usage -## Configuring and executing jobs in a distributed build +## Configuring and Executing Jobs in a Distributed Build 1. Go to "Manage Jenkins" > "Manage Nodes". You should see a single `master` node. 2. Configure the `master` node by setting the # of executor value to 0. That will take care of never using the `master` for job workload. diff --git a/11-pipeline-job.md b/11-pipeline-job.md index da25b64..826c7f3 100644 --- a/11-pipeline-job.md +++ b/11-pipeline-job.md @@ -1,6 +1,6 @@ # Building Continuous Delivery (CD) Pipelines -## Creating a pipeline job +## Creating a Pipeline Job 1. Have a look at the [repository](https://github.com/bmuschko/todo-spring-boot) `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. diff --git a/12-basic-jenkinsfile.md b/12-basic-jenkinsfile.md index 17881d8..80b067a 100644 --- a/12-basic-jenkinsfile.md +++ b/12-basic-jenkinsfile.md @@ -1,6 +1,6 @@ # Building Continuous Delivery (CD) Pipelines -## Writing a basic Jenkinsfile +## Writing a Basic Jenkinsfile 1. Create a new GitHub repository named `go-on-jenkins`. 2. Create a new `Jenkinsfile` in the root directory of the repository as well as a simple `main.go` file. The main function just prints "Hello World!". Initialize the project via Go Modules. diff --git a/13-advanced-jenkinsfile.md b/13-advanced-jenkinsfile.md index 2f4766f..963b133 100644 --- a/13-advanced-jenkinsfile.md +++ b/13-advanced-jenkinsfile.md @@ -1,6 +1,6 @@ # Building Continuous Delivery (CD) Pipelines -## Enhancing a pipeline with advanced features +## Enhancing a Pipeline With Advanced Features We'll want to enhance the pipeline by additional stages and implement a release workflow. The project is going to use an external tool called GoReleaser to publish cross-compiled artifacts to GitHub Releases. The binaries should only be released if the commit has been tagged. diff --git a/14-shared-library.md b/14-shared-library.md index 704591e..5e8f89d 100644 --- a/14-shared-library.md +++ b/14-shared-library.md @@ -1,6 +1,6 @@ # Building Continuous Delivery (CD) Pipelines -## Writing and using a shared library +## Writing and Using a Shared Library 1. Set up a new GitHub repository named `jenkins-standard-go-pipeline`. It will define a standard pipeline definition for Go projects implemented as shared library. 2. Add the file `vars/standard.groovy` that defines the declarative pipeline as global variable. Make the Go tool name and golang-ci version configurable with the help of parameters.