Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/fatimajamali81/multi-cloud-cicd-pipeline-with-spinnaker
Multi-Cloud CI/CD pipeline using Spinnaker to deploy a sample application across AWS and Azure
https://github.com/fatimajamali81/multi-cloud-cicd-pipeline-with-spinnaker
aws azure cicd deployment multi-cloud spinnaker terraform
Last synced: about 2 months ago
JSON representation
Multi-Cloud CI/CD pipeline using Spinnaker to deploy a sample application across AWS and Azure
- Host: GitHub
- URL: https://github.com/fatimajamali81/multi-cloud-cicd-pipeline-with-spinnaker
- Owner: fatimajamali81
- Created: 2024-07-21T10:33:58.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2024-07-23T12:36:51.000Z (5 months ago)
- Last Synced: 2024-07-23T14:48:47.658Z (5 months ago)
- Topics: aws, azure, cicd, deployment, multi-cloud, spinnaker, terraform
- Language: HCL
- Homepage:
- Size: 37.1 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Multi-Cloud CI/CD Pipeline with Spinnaker
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.
## Structure
- `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.## Getting Started
1. **Clone the Repository**: Clone this repository to your local machine.
```bash
git clone https://github.com/yourusername/multi-cloud-cicd-spinnaker.git
cd multi-cloud-cicd-spinnaker
```
2. **Set Up Spinnaker**: Use Halyard to set up and configure your Spinnaker instance.
```bash
hal config version edit --version 1.26.6
hal deploy apply
```
3. **Configure Cloud Providers**: Set up your AWS and Azure accounts in Spinnaker.
4. **Provision Resources**: Use Terraform to provision necessary resources in AWS and Azure.
```bash
cd terraform
terraform init
terraform apply
```
5. **Build and Deploy Application**: Use the provided pipelines and scripts to build, test, and deploy the sample application.
```bash
cd ..
./scripts/deploy.sh
```## Prerequisites
- **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.## Usage
### Run Automated Tests
Use the test script to run automated tests
```sh
./scripts/test.sh
```
### Deploy the ApplicationUse the deployment script to deploy the application to both AWS and Azure:
```sh
./scripts/deploy.sh
```
### License
This project is licensed under the MIT License.