-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathJenkinsfile.TEST
87 lines (84 loc) · 2.69 KB
/
Jenkinsfile.TEST
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
pipeline {
agent any
triggers {
pollSCM('H/2 * * * 1-5')
// properties([
// pipelineTriggers([[
// $class: 'DockerHubTrigger',
// options: [[
// $class: 'TriggerOnSpecifiedImageNames',
// repoNames: ['northbear/morse-responder'].toSet()
// ]]
// ]])
// ])
}
options {
disableConcurrentBuilds()
timestamps()
}
environment {
registryCredential = 'cb-access-dockerhub'
serverHost = 'ec2-54-73-110-196.eu-west-1.compute.amazonaws.com'
serverPort = '5000'
serverImage = null
serverImageName = 'northbear/morse-responder'
serverContainerName = 'morse-responder'
clientImageName = 'northbear/morse-receiver'
clientImage = null
clientContainerName = 'morse-receiver'
}
stages {
stage("Prepare Workspace") {
steps {
echo 'Prepare'
git url: 'https://github.com/northbear/cb-ms-morse.git', poll: true
sh "docker volume create receiver-output"
}
}
stage("Build Client Container") {
steps {
echo 'Build Client Container'
script {
clientImage = docker.build(clientImageName, '-f Dockerfile.morse-receiver .')
}
}
}
stage('Get Server Container') {
steps {
script {
serverImage = docker.image(serverImageName)
}
}
}
stage("Run Container Stack") {
steps {
echo 'Run Server Container'
script {
serverImage.withRun("-p ${serverPort}:3000 --env APP_PORT=3000") {
sh "echo 'execute servercontainer'"
clientImage.withRun("-v receiver-output:/output --env SERVICE_ADDRESS=${serverHost}:${serverPort}") {
sh "echo 'execute client container'"
}
}
}
}
}
stage("Get Reponse From Server") {
steps {
echo 'Push image to Repo'
// sh "ls -l output/"
// sh "cat output/*"
}
}
stage("Clean Up") {
steps {
echo 'Remove containers'
sh "docker volume rm -f receiver-output"
// sh "docker rm -f ${serverContainerName}"
// sh "docker rm -f ${clientContainerName}"
// sh "docker rmi ${serverImageName}'
// sh "docker rmi ${serverImageName}'
}
}
}
}