Spring Cloud Pipelines


Table of Contents

I. Spring Cloud Pipelines
1. Introduction
1.1. Five-second Introduction
1.2. Five-minute Introduction
1.2.1. How to Use It
1.2.2. How It Works
1.2.3. Supported Languages
1.2.4. Centralized Pipeline Creation
1.2.5. A Pipeline for Each Repository
1.3. The Flow
1.3.1. Environments
1.3.2. Tests
1.3.3. Testing against Stubs
1.3.4. General View
1.4. Pipeline Descriptor
1.4.1. Pipeline Descriptor for Cloud Foundry
1.5. Project Setup
2. How the Scripts Work
2.1. Build and Deployment
2.2. Project Crawler
2.3. How Scripts Work with Spinnaker
2.4. Deployment & languages compatibility matrix
3. Opinionated Implementation
3.1. Build
3.2. Test
3.3. Stage
3.4. Prod
4. Project Opinions
4.1. Cloud Foundry Project Opinions
4.2. Kubernetes Project Opinions
5. Customizing the Project
5.1. Overriding Scripts
5.2. Overriding Pipelines
5.2.1. Overriding Jenkins Job DSL pipelines
5.3. Picking Features
6. Step-by-step Cloud Foundry Migration
6.1. Preview
6.2. Introduction
6.3. Sample Application — Initial State
6.4. Sample Application — End State
6.5. Tutorial — Toolset
6.6. Tutorial — Overview
6.7. Tutorial — Step-by-step
6.7.1. Prep: Before you begin
6.7.2. Stage One: Scaffolding
1.1 Create GitHub Branches
1.2 Add Maven Wrapper
1.3 Create the Bintray Maven Repository Package
1.4 Configure Distribution Management by Using the Bintray Maven Repository
1.5 Push Changes to GitHub
1.6 Add a Spring Cloud Pipelines Credentials File
1.7 Set the Concourse Pipeline
1.8 Add Cloud Foundry manifest
1.9 Add the Spring Cloud Pipelines Manifest
1.10 Push changes to GitHub
1.11 Create Cloud Foundry Orgs and Spaces
1.12 Create Cloud Foundry Stage and Prod Service Instances
1.13 Update the Spring Cloud Pipelines Credentials File
1.14 Update the Concourse Pipeline with Updated Credentials Files
Stage One Recap and Next Steps
6.7.3. Stage Two: Tests
2.1 Add Maven Profiles
2.2 Add and Organize Tests
2.3 Enable Database Versioning
2.4 Push Changes to GitHub
2.5 Re-run the Pipelines
Stage Two Recap and Next Steps
6.7.4. Stage Three: Contracts
3.1 Create a Contract
3.2 Create a Base Class for Contract Tests
3.3 Enable Automated Contract-based Testing
3.4 Enable backward compatibility API check
3.5 Push Changes to GitHub
3.6 Re-run the fortune-service Pipeline
3.7 Enable Stubs for Integration Tests
3.8 Enable Stubs for Smoke Tests
3.9 Push Changes to GitHub
Stage Three Recap
6.8. Conclusion
7. Concourse Pipeline (Cloud Foundry)
7.1. Step-by-step
7.1.1. Fork Repositories
7.1.2. Start Concourse and Artifactory
Deploy the infra JARs to Artifactory
7.1.3. Start PCF Dev
7.1.4. Setup the fly CLI
7.1.5. Set up Your credentials.yml File
7.1.6. Build the Pipeline
7.1.7. Run the github-webhook Pipeline
8. Concourse Pipeline (Kubernetes)
8.1. Step-by-step
8.1.1. Fork Repositories
8.2. Concourse in K8S (Kubernetes)
8.2.1. Deploying Artifactory to K8S
8.2.2. Setup the fly CLI
8.2.3. Setup your credentials.yml
8.2.4. Build the pipeline
8.2.5. Run the github-webhook Pipeline
9. Jenkins Pipeline (Common)
9.1. Project setup
9.2. Optional customization steps
9.2.1. Deploying infra jars to a different location
9.2.2. Setup settings.xml for Maven deployment
9.2.3. Setup Jenkins env vars
Seed properties
Global envs
9.2.4. Set Git email / user
Add Jenkins credentials for GitHub
9.3. Testing Jenkins scripts
9.4. How to work with Jenkins Job DSL plugin
9.5. Docker Image
10. Jenkins Pipeline (Cloud Foundry)
10.1. Step-by-step
10.1.1. Fork Repositories
10.1.2. Start Jenkins and Artifactory
Deploy the Infra JARs to Artifactory
10.1.3. Start PCF Dev
10.1.4. Run the Seed Job
10.1.5. Run the github-webhook Pipeline
10.2. Declarative Pipeline & Blue Ocean
10.3. Jenkins Cloud Foundry Customization
10.3.1. Environment Variable Summary
10.3.2. Jenkins Credentials
11. Jenkins Pipeline (Kubernetes)
11.1. Step-by-step
11.1.1. Fork Repositories
11.1.2. Start Jenkins and Artifactory
Deploy the Infra JARs to Artifactory
11.1.3. Run the seed job
11.1.4. Run the github-webhook pipeline
11.2. Declarative pipeline & Blue Ocean
11.3. Jenkins Kubernetes customization
11.3.1. All env vars
11.4. Preparing to Connect to GCE
11.5. Connecting to a Kubo or GCE Cluster
12. Kubernetes Setup
12.1. Kubernetes CLI Installation
12.1.1. Script Installation
12.1.2. Manual Installation
Example for OSX
Example for Linux
12.2. Kubernetes Cluster Setup
12.2.1. Script Installation
12.2.2. Manual Installation
Example for OSX
12.2.3. Example for Linux
12.3. Run Minikube
12.4. Certificates and Workers
12.4.1. Minikube Certificates and Workers
12.4.2. Manual Certificates and Workers Setup
12.5. Generate Minikube Namespaces
13. The demo setup (Cloud Foundry)
13.1. Deploying Production Applications to PCF Dev
13.2. Running Prometheus on CF
13.3. Running Grafana on CF
14. The demo setup (Kubernetes)
14.1. Deploying Production Applications to Minikube
14.2. Running Prometheus on Kubernetes
14.3. Running Grafana on Kubernetes
15. Building the Project
15.1. Project Setup
15.2. Prerequisites
15.3. Bats Submodules
15.4. Build and test
15.5. Generate Documentation
15.6. Distributions
15.7. Making a Release
16. Releasing the Project
16.1. Publishing A Docker Image
17. CI Server Worker Prerequisites
18. Concourse FAQ
19. Jenkins FAQ