forked from missionlane/prometheus-mailgun-exporter
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathJenkinsfile
49 lines (45 loc) · 1.38 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
def group = 'infra'
def service = 'prometheus-mailgun-exporter'
def namespace = "${group}/${service}"
builderNode {
stage("Build Docker Image") {
checkout scm
def build_date = sh (script: 'date +%Y%m%d-%H:%M:%S', returnStdout: true).trim()
def build_user = sh (script: 'whoami', returnStdout: true).trim()
def git_branch = sh (script: 'git rev-parse --abbrev-ref HEAD', returnStdout: true).trim()
def git_revision = sh (script: 'git rev-parse HEAD', returnStdout: true).trim()
version = sh (script: 'cat VERSION', returnStdout: true).trim()
imageName = buildDockerImage(
repository: namespace,
buildArgs: [
"BUILD_DATE=${build_date}",
"BUILD_USER=${build_user}",
"GIT_BRANCH=${git_branch}",
"GIT_REVISION=${git_revision}",
'GO111MODULE=on',
"VERSION=${version}"
]
)
}
stage("Docker Promote All Builds") {
promoteDockerImage(
imageName: imageName,
toTags: ["latest"]
)
}
stage("Docker Promote Tag and Deploy") {
if (env.TAG_NAME ==~ /^v.+$/) {
promoteDockerImage(
imageName: imageName,
toTags: ["latest", version]
)
deployNomadService(
group: group,
service: service,
version: version,
stack: "prod-us-east-1",
slackChannels: "team-infra-changes"
)
}
}
}