Files
test/Jenkinsfile
Jan Rabcan 61c83ce50d
All checks were successful
internetmastercz/test/pipeline/head This commit looks good
internetmastercz/test/pipeline/pr-master This commit looks good
just restart.
2021-10-20 04:36:19 +02:00

78 lines
3.3 KiB
Groovy

pipeline {
agent any
environment {
REGISTRY_CREDENTIALS = credentials('registry-credentials-id')
PORTAINER_CREDENTIALS = credentials('portainer-credentials-id')
}
stages {
stage('Installation') {
steps {
echo "start Installation"
echo "finish Installation"
}
}
stage('Build') {
steps {
echo "Running ${env.BUILD_ID} on ${env.JENKINS_URL}"
echo 'Building..'
echo "docker build -t registry.proxyq.co/jenkins/website:${env.BUILD_ID} ."
sh "docker build -t registry.proxyq.co/jenkins/website:${env.BUILD_ID} ."
}
}
stage('Testing') {
steps {
echo "start Testing"
sh 'sleep 5'
echo "finish Testing"
}
}
stage('Publish') {
steps {
sh "docker login https://registry.proxyq.co -u ${REGISTRY_CREDENTIALS_USR} --password ${REGISTRY_CREDENTIALS_PSW}"
sh "docker push registry.proxyq.co/jenkins/website:${env.BUILD_ID}"
sh "docker tag registry.proxyq.co/jenkins/website:${env.BUILD_ID} registry.proxyq.co/jenkins/website:latest"
sh "docker push registry.proxyq.co/jenkins/website:latest"
}
}
stage('Redeploy') {
steps {
script {
def json = """
{"username": "${PORTAINER_CREDENTIALS_USR}", "password": "${PORTAINER_CREDENTIALS_PSW}"}
"""
def jwtResponse = httpRequest acceptType: 'APPLICATION_JSON',
contentType: 'APPLICATION_JSON',
validResponseCodes: '200',
httpMode: 'POST',
ignoreSslErrors: true,
consoleLogResponseBody: true,
requestBody: json,
url: "http://192.168.4.8:9000/api/auth"
def jwtObject = new groovy.json.JsonSlurper().parseText(jwtResponse.getContent())
env.JWTTOKEN = "Bearer ${jwtObject.jwt}"
}
echo "Authenticated"
script {
def json = """
"""
httpRequest acceptType: 'APPLICATION_JSON',
contentType: 'APPLICATION_JSON',
validResponseCodes: '204',
httpMode: 'POST',
ignoreSslErrors: true,
consoleLogResponseBody: true,
requestBody: json,
customHeaders: [["name": "Authorization", "value": "${env.JWTTOKEN}"]],
url: "http://192.168.4.8:9000/api/endpoints/26/docker/containers/145772505f27bcdef1fbd807ecbb7b4ccbe6fb86dbb3a2bd0e22951557a15a10/restart"
}
echo "Restarting Container"
}
}
}
}