-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathJenkinsfile
More file actions
65 lines (57 loc) · 1.58 KB
/
Copy pathJenkinsfile
File metadata and controls
65 lines (57 loc) · 1.58 KB
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
Map gitRepo = [
url: 'https://github.com/ak1ra-lab/selfhosted-server.git'
]
String playbook_hosts = 'localhost'
pipeline {
agent any
environment {
TZ = 'Asia/Shanghai'
}
// once every two hours between 08:00 and 18:00 every weekday
triggers {
pollSCM('H H(8-18)/2 * * 1-5')
}
options {
buildDiscarder(logRotator(numToKeepStr: '10'))
}
parameters {
gitParameter(
name: 'branch',
type: 'PT_BRANCH',
branchFilter: 'origin/(.*)',
defaultValue: 'master',
description: 'Git branch to build'
)
string(
name: 'playbook_hosts',
defaultValue: playbook_hosts,
description: 'Ansible Inventory hosts'
)
}
stages {
stage('checkout') {
steps {
checkout([
$class: 'GitSCM',
branches: [[name: params.branch]],
userRemoteConfigs: [gitRepo],
extensions: [cloneOption(shallow: true, noTags: true)],
])
}
}
stage('deploy with playbook') {
steps {
ansiColor('xterm') {
ansiblePlaybook(
installation: 'ansible',
playbook: 'install.yml',
colorized: true,
extraVars: [
playbook_hosts: params.playbook_hosts
]
)
}
}
}
}
}