This repository contains the configuration and scripts for a CI/CD pipeline using Spinnaker that deploys a sample application across AWS and Azure. It includes automated testing and rollback strategies.
application/
: Contains the sample application and its Dockerfile.config/
: Configuration files for Halyard and Spinnaker.spinnaker/
: JSON files defining the Spinnaker pipelines.jenkins/
: Jenkinsfile for Jenkins pipeline definition.scripts/
: Scripts for deployment and testing.terraform/
: Terraform configuration for provisioning resources in AWS and Azure.
- Clone the Repository: Clone this repository to your local machine.
git clone https://github.com/yourusername/multi-cloud-cicd-spinnaker.git cd multi-cloud-cicd-spinnaker
- Set Up Spinnaker: Use Halyard to set up and configure your Spinnaker instance.
hal config version edit --version 1.26.6 hal deploy apply
- Configure Cloud Providers: Set up your AWS and Azure accounts in Spinnaker.
- Provision Resources: Use Terraform to provision necessary resources in AWS and Azure.
cd terraform terraform init terraform apply
- Build and Deploy Application: Use the provided pipelines and scripts to build, test, and deploy the sample application.
cd .. ./scripts/deploy.sh
- Docker: For containerizing the application.
- Halyard: For managing Spinnaker configurations.
- Spinnaker: For managing continuous delivery.
- Jenkins: For building and testing the application.
- Terraform: For provisioning cloud infrastructure.
- AWS and Azure accounts: For deploying the application.
Use the test script to run automated tests
./scripts/test.sh
Use the deployment script to deploy the application to both AWS and Azure:
./scripts/deploy.sh
This project is licensed under the MIT License.