update sslproxy deployment to include health check and Jenkinsfile that builds docker image
fixed metrics.xai-corp.net host file
This commit is contained in:
12
dockerfiles/services/sslproxy/Jenkinsfile
vendored
12
dockerfiles/services/sslproxy/Jenkinsfile
vendored
@@ -1,20 +1,22 @@
|
|||||||
node('docker') {
|
node('docker') {
|
||||||
|
def dockerfile = 'Dockerfile'
|
||||||
def app_name = 'sslproxy'
|
def app_name = 'sslproxy'
|
||||||
def app_port = '80'
|
def app_port = '80'
|
||||||
def workdir = 'dockerfiles/services/sslproxy'
|
def workdir = 'dockerfiles/services/sslproxy'
|
||||||
|
|
||||||
stage('prepare') {
|
stage('prepare') {
|
||||||
git credentialsId: 'f1f58215-c789-44a2-9b72-50e4425cb061', url: 'ssh://git@git.xai-corp.net:10022/xai-corp.net/provisioning.git'
|
git credentialsId: 'f1f58215-c789-44a2-9b72-50e4425cb061', url: 'ssh://git@git.xai-corp.net:10022/xai-corp.net/provisioning.git'
|
||||||
|
//checkout scm
|
||||||
sh 'ls'
|
sh 'ls'
|
||||||
}
|
}
|
||||||
|
|
||||||
stage('build') {
|
stage('build') {
|
||||||
dir(workdir) {
|
dir(workdir) {
|
||||||
//docker.build -f docker-compose.yml
|
docker.withRegistry('http://dkregistry.xai-corp.net:5000') {
|
||||||
sh """
|
def customImage = docker.build("dkregistry.xai-corp.net:5000/sslproxy:2.1", "-f ${dockerfile} .")
|
||||||
docker-compose -f docker-compose.yml build
|
customImage.push()
|
||||||
"""
|
}
|
||||||
docker.Image.push dkregistry.xai-corp.net:5000/sslproxy:2.1
|
|
||||||
sh "docker-compose -f docker-compose-prod.yml pull"
|
sh "docker-compose -f docker-compose-prod.yml pull"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,3 +5,5 @@ export DOCKER_HOST=dkmanager:2376
|
|||||||
docker login -u richard -p $DKREGISTRY_PASS $DKREGISTRY
|
docker login -u richard -p $DKREGISTRY_PASS $DKREGISTRY
|
||||||
|
|
||||||
docker stack deploy --with-registry-auth --prune -c docker-compose-prod.yml sslproxy
|
docker stack deploy --with-registry-auth --prune -c docker-compose-prod.yml sslproxy
|
||||||
|
|
||||||
|
docker service update sslproxy
|
||||||
|
|||||||
@@ -19,6 +19,13 @@ services:
|
|||||||
- "443:443"
|
- "443:443"
|
||||||
- "80:80" # required for letsencrypt
|
- "80:80" # required for letsencrypt
|
||||||
|
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD", "wget", "--spider", "--header", "'Host: git.xai-corp.net'", "https://localhost/"]
|
||||||
|
interval: 1m30s
|
||||||
|
timeout: 10s
|
||||||
|
retries: 3
|
||||||
|
start_period: 3m
|
||||||
|
|
||||||
logging:
|
logging:
|
||||||
driver: fluentd
|
driver: fluentd
|
||||||
options:
|
options:
|
||||||
|
|||||||
@@ -2,9 +2,9 @@ proxy_cache_path /data/nginx/cache/metrics levels=1:2 keys_zone=metrics:10m max_
|
|||||||
inactive=60m use_temp_path=off;
|
inactive=60m use_temp_path=off;
|
||||||
|
|
||||||
upstream metrics_upstream {
|
upstream metrics_upstream {
|
||||||
server tasks.metrics_graphana:3001;
|
server metrics.xai-corp.net:3001;
|
||||||
|
#server tasks.metrics_graphana:3001;
|
||||||
|
|
||||||
server metrics.xai-corp.net:3001 backup;
|
|
||||||
server dkhost.xai-corp.net:3001 backup;
|
server dkhost.xai-corp.net:3001 backup;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -22,7 +22,14 @@ server {
|
|||||||
|
|
||||||
location / {
|
location / {
|
||||||
proxy_set_header Connection $http_connection;
|
proxy_set_header Connection $http_connection;
|
||||||
|
proxy_set_header Host $host:$server_port;
|
||||||
|
proxy_set_header X-Real-IP $remote_addr;
|
||||||
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||||
|
proxy_set_header X-Forwarded-Host $host;
|
||||||
|
proxy_set_header X-Forwarded-Proto $scheme;
|
||||||
proxy_pass http://metrics_upstream;
|
proxy_pass http://metrics_upstream;
|
||||||
|
|
||||||
|
proxy_connect_timeout 3s;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user