-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathJenkinsfile
62 lines (58 loc) · 1.98 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
pipeline {
agent {
label "jenkins-go"
}
environment {
GH_CREDS = credentials('jenkins-x-github')
CHARTMUSEUM_CREDS = credentials('jenkins-x-chartmuseum')
BUILD_NUMBER = "$BUILD_NUMBER"
GIT_USERNAME = "$GH_CREDS_USR"
GIT_API_TOKEN = "$GH_CREDS_PSW"
GITHUB_ACCESS_TOKEN = "$GH_CREDS_PSW"
JOB_NAME = "$JOB_NAME"
BRANCH_NAME = "$BRANCH_NAME"
ORG = 'jenkinsxio'
APP_NAME = 'jx'
PREVIEW_VERSION = "0.0.0-SNAPSHOT-$BRANCH_NAME-$BUILD_NUMBER"
}
stages {
stage('CI Build and Test') {
when {
branch 'PR-*'
}
steps {
dir ('/home/jenkins/go/src/github.com/jenkins-x/jx') {
checkout scm
container('go') {
sh "make linux"
sh "make test"
sh "./build/linux/jx --help"
sh "docker build -t docker.io/$ORG/$APP_NAME:$PREVIEW_VERSION ."
// temporarily disable while testing release pipelines
sh "make preview"
}
}
}
}
stage('Build and Release') {
when {
branch 'master'
}
steps {
dir ('/home/jenkins/go/src/github.com/jenkins-x/jx') {
checkout scm
container('go') {
sh "echo \$(jx-release-version) > pkg/version/VERSION"
sh "make release"
}
}
dir ('/home/jenkins/go/src/github.com/jenkins-x/jx/charts/jx') {
container('go') {
sh "helm init --client-only"
sh "make release"
}
}
}
}
}
}