-
Notifications
You must be signed in to change notification settings - Fork 0
/
Jenkinsfile
37 lines (33 loc) · 920 Bytes
/
Jenkinsfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
pipeline {
agent any
stages {
// Provisioning Infrastructure with Terraform
stage("Provisioning Infrastructure") {
steps {
sh "make up"
}
}
// Configuring Servers with "install.yaml" Playbook
stage("Configuring Servers with Ansible") {
steps {
sh "make output"
sh "ansible-playbook -i ansible/inventory ansible/install.yaml"
}
}
// Deploying to Dev Environment with "deploy.yaml" Playbook
stage("Deploying to Dev Environment") {
steps {
sh "make output-dev"
sh "ansible-playbook -i ansible/inventory ansible/deploy.yaml"
}
}
stage('Deploying to Prod Environment') {
when { tag "release-*" }
steps {
echo 'Deployment triggered by tagged commit....'
sh "make output-prod"
sh "ansible-playbook -i ansible/inventory ansible/deploy.yaml"
}
}
}
}