-
Notifications
You must be signed in to change notification settings - Fork 0
/
Jenkinsfile
30 lines (28 loc) · 855 Bytes
/
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
pipeline {
agent {
label 'main'
}
stages {
stage('Create .env'){
steps {
sh """
touch .env && \\
echo 'HOST=${HOST}\nUSERNAME=${USERNAME}\nPASSWORD=${PASSWORD}\nDATABASE=${DATABASE}' > .env
"""
}
}
stage('Build Image') {
steps {
sh 'sudo docker build -t backend_cpp:latest .'
}
}
stage('Containerize Image') {
steps {
sh '''
sudo docker rm -f backend_cpp && \\
sudo docker run -d --restart unless-stopped --name backend_cpp -p 18080:18080 -v /root/tools/vcpkg:/vcpkg backend_cpp:latest /bin/bash /app/linux-deploy.sh
'''
}
}
}
}