From 78c23227e4ce4f13347ff955521d4121d510b73e Mon Sep 17 00:00:00 2001 From: korotkov Date: Wed, 1 Apr 2026 14:49:27 +0500 Subject: [PATCH] ewq --- Jenkinsfile | 28 ++++++++++++++++++++++++---- docker-compose.yml | 4 ++-- 2 files changed, 26 insertions(+), 6 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 90d724c..8c4877e 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -6,10 +6,17 @@ pipeline { TUNNEL_IMAGE_NAME = "tunnel_open_sesam" BOT_IMAGE_TAG = "latest" TUNNEL_IMAGE_TAG = "latest" + IMAGE_TAG = "${env.BUILD_NUMBER}" } agent { label 'agent_smith'} + options { + buildDiscarder(logRotator(numToKeepStr: '10')) + disableConcurrentBuilds() // Prevent cleanup conflicts + timeout(time: 30, unit: 'MINUTES') + } + stages { stage ('build bot image and push') { @@ -17,7 +24,10 @@ pipeline { script { docker.withRegistry("${REGISTRY_URL}", 'jenkins_harbor') { def BotImage = docker.build( - "${REGISTRY}/${BOT_IMAGE_NAME}:${BOT_IMAGE_TAG}" + "${REGISTRY}/${BOT_IMAGE_NAME}:${env.BUILD_NUMBER}", + "--label build_number=${IMAGE_TAG} " + + "--label git_commit=${env.GIT_COMMIT} " + + "." ) BotImage.push() } @@ -30,7 +40,10 @@ pipeline { script { docker.withRegistry("${REGISTRY_URL}", 'jenkins_harbor') { def TunnelImage = docker.build( - "${REGISTRY}/${TUNNEL_IMAGE_NAME}:${TUNNEL_IMAGE_TAG}" + "${REGISTRY}/${TUNNEL_IMAGE_NAME}:${env.BUILD_NUMBER}", + "--label build_number=${IMAGE_TAG} " + + "--label git_commit=${env.GIT_COMMIT} " + + "." ) TunnelImage.push() } @@ -51,8 +64,15 @@ pipeline { steps { script { sh ''' - docker-compose pull - docker-compose up -d + export BOT_IMAGE_TAG=${IMAGE_TAG} + export TUNNEL_IMAGE_TAG=${IMAGE_TAG} + + # Pull new images explicitly + docker-compose pull bot_open_sesam tunnel_open_sesam + + # Deploy with specific project name + docker-compose up -d --remove-orphans + ''' } } diff --git a/docker-compose.yml b/docker-compose.yml index f10dbee..ff32db2 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -2,7 +2,7 @@ version: '3' services: bot_open_sesam: container_name: bot_open_sesam - image: proxy.docker.dataekb.ru/local_cache/bot_open_sesam:latest + image: proxy.docker.dataekb.ru/local_cache/bot_open_sesam:${BOT_IMAGE_TAG:-latest} stdin_open: true tty: true env_file: @@ -19,7 +19,7 @@ services: max-size: "10m" max-file: "3" tunnel_open_sesam: - image: proxy.docker.dataekb.ru/local_cache/tunnel_open_sesam:latest + image: proxy.docker.dataekb.ru/local_cache/tunnel_open_sesam:${BOT_IMAGE_TAG:-latest} container_name: tunnel_open_sesam env_file: - ./.env