-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathJenkinsfile
92 lines (81 loc) · 2.25 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
// *********************** Jenkins file for staging server********************
pipeline {
agent any
environment{
registryfront = "poneahealth/epharmacy"
registryapi = "poneahealth/epharmacy"
registryCredential = 'dockerhubponea'
REGISTRY_ADDRESS = "https://registry.hub.docker.com"
dockerImage1 = ''
dockerImage2 = ''
COMPOSE_FILE = "docker-compose.yml"
REGISTRY_AUTH = credentials("dockerhubponea")
}
stages {
stage('Verify') {
steps {
sh '''
docker version
docker-compose version
'''
}
}
stage('clean') {
steps {
sh 'sh dockerclean.sh'
}
}
stage('build') {
steps {
sh 'docker-compose build'
}
}
stage("Determine new version") {
steps {
script {
env.DEPLOY_VERSION = sh(returnStdout: true, script: "docker run --rm -v '${env.WORKSPACE}':/repo:ro softonic/ci-version:0.1.0").trim()
env.DEPLOY_MAJOR_VERSION = sh(returnStdout: true, script: "echo '${env.DEPLOY_VERSION}' | awk -F'[ .]' '{print \$1}'").trim()
env.DEPLOY_COMMIT_HASH = sh(returnStdout: true, script: "git rev-parse HEAD | cut -c1-7").trim()
env.DEPLOY_BUILD_DATE = sh(returnStdout: true, script: "date -u +'%Y-%m-%dT%H:%M:%SZ'").trim()
env.IS_NEW_VERSION = sh(returnStdout: true, script: "[ '${env.DEPLOY_VERSION}' ] && echo 'YES'").trim()
}
}
}
/* stage("Create new version") {
when {
environment name: "IS_NEW_VERSION", value: "YES"
}
steps {
script {
sh """
git config user.email "ci-sandeep@email.com"
git config user.name "Jenkins"
git tag -a "v${env.DEPLOY_VERSION}" \
-m "Generated by: ${env.JENKINS_URL}" \
-m "Job: ${env.JOB_NAME}" \
-m "Build: ${env.BUILD_NUMBER}" \
-m "Env Branch: ${env.BRANCH_NAME}"
git push origin "v${env.DEPLOY_VERSION}"
"""
}
}
} */
stage('Push Image') {
steps{ script {
docker.withRegistry( '', registryCredential ) {
sh "docker-compose -f ${env.COMPOSE_FILE} build"
//sh "docker-compose -f ${env.COMPOSE_FILE} push"
//dockerImage1.push()
//dockerImage2.push()
}
}
}
}
stage('Deploy') {
steps {
sh 'docker-compose kill'
sh 'docker-compose up -d'
}
}
}
}