-
Notifications
You must be signed in to change notification settings - Fork 0
/
Jenkinsfile
124 lines (115 loc) · 3.18 KB
/
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
pipeline {
agent any
stages {
// stage('Debug Info') {
// steps {
// sh 'whoami;hostname;uptime'
// }
// }
// stage('Build Docker Image') {
// steps {
// sh '''docker build . \\
// -f Dockerfile \\
// -t tumbler-flutter'''
// }
// }
// stage('Run Container') {
// steps {
// sh '''docker run \\
// --name tumbler-flutter \\
// --entrypoint /bin/bash \\
// -dt --rm tumbler-flutter'''
// }
// }
// stage('Lint') {
// steps {
// sh 'docker exec tumbler-flutter bash -c \'bash lint.sh\''
// }
// }
// stage('Test') {
// steps {
// sh 'docker exec tumbler-flutter bash -c \'bash test.sh\''
// }
// }
// stage('Stop Container & Remove Image') {
// steps {
// sh 'docker container stop tumbler-flutter'
// sh 'docker image remove tumbler-flutter'
// sh 'docker system prune -f'
// }
// }
// stage('List Docker Images & Containers') {
// steps {
// sh 'docker image ls -a'
// sh 'docker container ls -a'
// }
// }
stage('Deploy To dev-server') {
agent {
node {
label 'dev-server'
}
}
when {
branch 'main'
}
steps {
sh 'whoami;hostname;uptime'
sh '''
#az storage file download --account-name tumblerstorageaccount -s tumbler-secrets -p flutter.dev.env --dest .env;
docker-compose up -d --build;
#docker system prune -f;'''
}
post {
always {
discordSend(
title: JOB_NAME,
link: env.BUILD_URL,
description: "${JOB_NAME} DEV Deployment Status: ${currentBuild.currentResult}",
result: currentBuild.currentResult,
thumbnail: 'https://i.dlpng.com/static/png/6378770_preview.png',
webhookURL: 'https://discord.com/api/webhooks/921772869782994994/mi4skhArIoT6heXWebPiWLn6Xc95rZgUqtW7qriBOYvnl0sTdfn16we7yPY-n-DJYRmH'
)
}
}
}
// stage('Deploy To Production') {
// agent {
// node {
// label 'prod-server'
// }
// }
// when {
// branch 'main'
// }
// steps {
// sh 'whoami;hostname;uptime'
// sh '''
// az storage file download --account-name tumblerstorageaccount -s tumbler-secrets -p flutter.env --dest .env;
// docker-compose up -d --build;'''
// }
// post {
// always {
// discordSend(
// title: JOB_NAME,
// link: env.BUILD_URL,
// description: "${JOB_NAME} PROD Deployment Status: ${currentBuild.currentResult}",
// result: currentBuild.currentResult,
// thumbnail: 'https://i.dlpng.com/static/png/6378770_preview.png',
// webhookURL: 'https://discord.com/api/webhooks/921772869782994994/mi4skhArIoT6heXWebPiWLn6Xc95rZgUqtW7qriBOYvnl0sTdfn16we7yPY-n-DJYRmH'
// )
// }
// }
// }
}
post {
unsuccessful {
sh 'docker container stop tumbler-flutter || true'
sh 'docker image remove tumbler-flutter || true'
sh 'docker system prune -f'
}
cleanup {
cleanWs()
}
}
}