-
Notifications
You must be signed in to change notification settings - Fork 24
Expand file tree
/
Copy pathJenkinsfile
More file actions
68 lines (68 loc) · 1.45 KB
/
Jenkinsfile
File metadata and controls
68 lines (68 loc) · 1.45 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
66
67
68
pipeline {
agent any
environment {
REGISTRY_AUTH = credentials('ucc-registry-unchained')
DOCKER_BUILDKIT = 0
DOTENV_PATH = credentials('unchained-dotenv')
docs = ''
}
tools { dockerTool "docker" }
stages {
stage('Test') {
steps {
script {
sh 'touch ./env && chmod 666 ./env'
sh 'cp ${DOTENV_PATH} ./env'
docker.build("ci:latest")
sh 'docker run ci:latest npm run lint'
sh 'docker run -t ci:latest sh -c "npm run test || :"'
}
}
}
stage('Login to Registry') {
steps {
script {
sh 'docker login -u ${REGISTRY_AUTH_USR} -p ${REGISTRY_AUTH_PSW} registry.ucc.dev'
}
}
}
stage('Building') {
steps{
script {
docs = docker.build("registry.ucc.dev/unchained/docs",'-f ./docs/Dockerfile ./docs')
}
}
}
stage('Pushing to Registry') {
steps {
script {
docs.push("${GIT_BRANCH}-latest")
}
}
}
stage('Deploy to Test') {
when { branch 'develop' }
steps {
script {
docs.push("next")
}
}
}
stage('Deploy to Stage') {
when { branch 'master' }
steps {
script {
docs.push("latest")
}
}
}
stage('Deploy to Unchained Cloud') {
when { buildingTag() }
steps {
script {
docs.push("stable")
}
}
}
}
}