-
Notifications
You must be signed in to change notification settings - Fork 0
/
cicd-jenkinsfile.groovy
28 lines (28 loc) · 1.21 KB
/
cicd-jenkinsfile.groovy
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
node {
timestamps {
stage('Clean WS') {
echo 'Cleaning work space'
}
stage('Pull updated code'){
sh """
echo 'pulling code'
"""
git branch: 'master', credentialsId: 'github-cred', url: 'https://github.com/TonySchneider/telebots.git'
}
stage('Deploy bot services'){
withCredentials([string(credentialsId: 'english_token_bot', variable: 'TOKEN'),
usernamePassword(credentialsId: 'mysql_credentials', passwordVariable: 'password', usernameVariable: 'username')]) {
sh """
echo 'Sets necessary environment variables'
export TONY_ENGLISH_BOT_TOKEN='${TOKEN}' && export MYSQL_USER='${username}' && export MYSQL_PASS='${password}'
echo 'Killing all screen sessions'
screen -ls | grep '(Detached)' | awk 'sys {screen -S ${1} -X quit}'
echo 'executing python service in background'
ls -l
chmod +x service-executor.sh
JENKINS_NODE_COOKIE=dontKillMe ./service-executor.sh
"""
}
}
}
}