43 lines
1.4 KiB
Groovy
43 lines
1.4 KiB
Groovy
node('docker') {
|
|
def service_name = 'metrics'
|
|
def app_name = 'prometheus'
|
|
def workdir = 'dockerfiles/services/prometheus'
|
|
def build_file = 'docker-compose.yml'
|
|
def deployment_file = 'docker-compose-prod.yml'
|
|
|
|
stage('prepare') {
|
|
git credentialsId: 'f1f58215-c789-44a2-9b72-50e4425cb061', url: 'ssh://git@git.xai-corp.net:10022/xai-corp.net/provisioning.git'
|
|
sh 'ls'
|
|
}
|
|
|
|
stage('build') {
|
|
dir(workdir) {
|
|
docker.withRegistry('http://dkregistry.xai-corp.net:5000') {
|
|
def customImage = docker.build("dkregistry.xai-corp.net:5000/xaicorp/${app_name}:latest", "-f Dockerfile .")
|
|
customImage.push()
|
|
}
|
|
sh "docker-compose -f ${deployment_file} pull"
|
|
}
|
|
}
|
|
|
|
stage('deploy') {
|
|
dir(workdir) {
|
|
sh """
|
|
docker stack deploy -c ${deployment_file} ${service_name}
|
|
docker service update -q ${service_name}_prometheus
|
|
docker service update -q ${service_name}_statsd_exporter
|
|
docker service update -q ${service_name}_fluentd_exporter
|
|
docker service update -q ${service_name}_node_exporter
|
|
docker service update -q ${service_name}_graphana
|
|
"""
|
|
}
|
|
}
|
|
|
|
stage('smoke tests') {
|
|
dir(workdir) {
|
|
sleep 60
|
|
sh "curl -If https://metrics.xai-corp.net/metrics"
|
|
}
|
|
}
|
|
}
|