Using GitHub, Jenkins, and Spinnaker, you will manually install and configure these tools to provide an end-to-end solution. By manually building and configuring these tools, you'll be able to better see and understand the steps involved during the lab. This will provide a good foundation as an engineer to then automate a solution in the future.
The pipeline will start with GitHub being used as a Version Control System and storing the developers' code. As code is committed to the main branch, it will trigger a workflow (GitHub Actions), which in this case will demonstrate the possibilities of integration with other tools, such as Jenkins.
Jenkins will perform the compiling, testing, and packaging operations and act as both the intermediate "pipeline" and the build server. Jenkins will then notify Spinnaker for deployment.
Spinnaker can support multi-stage operations and deployment onto many types of compute/infrastructure. In this lab we will not provide a deployment as that will be specific to the technology used in the workplace. Spinnaker will however accept a webhook from Jenkins that will trigger a stage (or stages) that in turn could be configured for deployment onto your platform of choice.
To take what you have learned and build a CloudFormation template to deploy the AWS infrastructure, including Jenkins and Spinnaker.