From 1ec2f3f4dfebffac9080ef2c37b81304925ae287 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=91=D1=83=D1=80=D0=B4=D0=B5=D0=BD=D0=BA=D0=BE=20=D0=90?= =?UTF-8?q?=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= Date: Tue, 24 Jun 2025 10:41:09 +0300 Subject: [PATCH 01/14] up --- .gitlab-ci.yml | 1 + ci/deploy/deploy-cloud.inc.yml | 11 +++++++ ci/deploy/deploy-template.inc.yml | 54 +++++++++++++++++++++++++++++++ ci/deploy/deploy.sh | 54 +++++++++++++++++++++++++++++++ 4 files changed, 120 insertions(+) create mode 100644 ci/deploy/deploy-cloud.inc.yml create mode 100644 ci/deploy/deploy-template.inc.yml create mode 100644 ci/deploy/deploy.sh diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index dd236cf..2f26250 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -12,3 +12,4 @@ variables: include: - ci/develop.yml - "ci/rules.yml" + - "ci/deploy/*.inc.yml" diff --git a/ci/deploy/deploy-cloud.inc.yml b/ci/deploy/deploy-cloud.inc.yml new file mode 100644 index 0000000..eeb44d2 --- /dev/null +++ b/ci/deploy/deploy-cloud.inc.yml @@ -0,0 +1,11 @@ +deploy-cloud: + stage: deploy + rules: + - if: $CI_COMMIT_BRANCH && $CI_OPEN_MERGE_REQUESTS + when: never + - if: $CI_COMMIT_BRANCH && $CI_PIPELINE_SOURCE == "merge_request_event" + when: never + - if: $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH == "main" + when: manual + extends: + - .deploy-template diff --git a/ci/deploy/deploy-template.inc.yml b/ci/deploy/deploy-template.inc.yml new file mode 100644 index 0000000..fb954c6 --- /dev/null +++ b/ci/deploy/deploy-template.inc.yml @@ -0,0 +1,54 @@ +.deploy-template: + image: harbor.vimpelcom.ru/dockerhub/library/alpine + before_script: + - | + sed -i s%https://dl-cdn.alpinelinux.org/%http://rhrepo.vimpelcom.ru/ext/ya/mirrors/% /etc/apk/repositories && \ + apk --no-cache add tzdata ca-certificates curl openssh-client yq jq && \ + rm -rf /var/cache/apk/* + - which ssh-agent || (apt-get update -y && apt-get install openssh-client -y) + - eval $(ssh-agent -s) + - mkdir -p ~/.ssh + - echo -n "$TECH_SSH_KEY" | tr -d '\r' > ~/.ssh/id_rsa + - chmod 700 ~/.ssh + - chmod 600 ~/.ssh/id_rsa + # https://mikefarah.gitbook.io/yq/operators/traverse-read#nested-special-characters + - STANDS=$(echo "$STANDS" | yq '."'"${CI_COMMIT_REF_NAME}"'".[]') + - RED=$'\033[0;31m' + - RESET=$'\033[0m' + - > + if [[ -z "$STANDS" ]]; then + echo -e "${RED}STANDS for ${CI_COMMIT_REF_NAME:=CI_COMMIT_REF_NAME} is null${RESET}" + exit 1 + fi + - > + for stand in $STANDS; do + echo "stand: ${stand}" + ssh-keyscan "${stand}" >> ~/.ssh/known_hosts + done + - chmod 644 ~/.ssh/known_hosts + # Если получилось что-то пустое + - > + if [[ -z "$APPVERSION" ]]; then + APPVERSION="0.0.1" + fi + script: + - mkdir -p ${CI_PROJECT_DIR}/utils/ + - cd ${CI_PROJECT_DIR}/utils/ + - wget -q --no-check-certificate --output-document "deploy.sh" --header "PRIVATE-TOKEN:${GITLAB_TOKEN}" "https://git.vimpelcom.ru/api/v4/projects/9556/repository/files/ci%2Fdeploy%2Fdeploy.sh/raw" + - > + for stand in $STANDS; do + echo -e "Connect to ${stand}..." && + scp -o StrictHostKeyChecking=no deploy.sh "dorootless@${stand}:~/deploy.sh" && + ssh "dorootless@${stand}" "export CONTAINER_REGISTRY=$CONTAINER_REGISTRY && + export PRODUCT=$PRODUCT && + export PRODUCT_VERSION=$PRODUCT_VERSION && + export IMAGE_NAME=$IMAGE_NAME && + chmod 700 ~/deploy.sh && + ~/deploy.sh ${IMAGE_NAME} && + rm -f ~/deploy.sh" + done + needs: + - job: build-image-npm + optional: true + - job: build-image-go + optional: true diff --git a/ci/deploy/deploy.sh b/ci/deploy/deploy.sh new file mode 100644 index 0000000..9a26b53 --- /dev/null +++ b/ci/deploy/deploy.sh @@ -0,0 +1,54 @@ +#!/bin/bash + +# CONTAINER_REGISTRY="harbor.vimpelcom.ru" +# PRODUCT="vega/stage" +# PRODUCT_VERSION="0.5.3" + +if [[ $# -eq 0 ]] ; then + echo "No arguments supplied" + exit 1 +fi + +if [[ -z "$1" ]] ; then + echo "No argument CONTAINER_NAME" + exit 1 +fi + +GREEN=$'\033[0;32m' +RED=$'\033[0;31m' +BLUE=$'\033[0;36m' +WHITE=$'\033[0;37m' +RESET=$'\033[0m' + +CONTAINER_NAME=${1} +IMAGE_URL="$CONTAINER_REGISTRY/$PRODUCT/$IMAGE_NAME:$PRODUCT_VERSION" +DOCKER_COMPOSE_EXEC="docker-compose" + +if ! [ -x "$(command -v docker-compose)" ]; then + DOCKER_COMPOSE_EXEC="docker compose" +fi + +# для -z необходимо указывать параметры в двойных ковычках +if [ -z "$(docker ps -aq -f name=^${CONTAINER_NAME}$)" ]; then + echo -e "${RED}${CONTAINER_NAME:-container} not running.${RESET}" + exit 1 +fi + +COMPOSE_FILE="$(docker inspect --format '{{index .Config.Labels "com.docker.compose.project.config_files"}}' $CONTAINER_NAME | tr , \\n | xargs grep -wH $IMAGE_NAME | cut -d: -sf1 | uniq)" +COMPOSE_ALL_FILES="-f $COMPOSE_FILE" + +cp $COMPOSE_FILE "$COMPOSE_FILE.orig" +# sed -i '/image: .*'$IMAGE_NAME'/ s|:.*|: '"$IMAGE_URL"'|' $COMPOSE_FILE +sed -r -i '/image: .*'$IMAGE_NAME'(:|@|$)/ s|:.*|: '"$IMAGE_URL"'|' $COMPOSE_FILE + +if [ -e ~dorootless/docker-compose-svc.yaml ]; then +COMPOSE_SVC_FILE=~dorootless/docker-compose-svc.yaml +COMPOSE_ALL_FILES="-f $COMPOSE_SVC_FILE -f $COMPOSE_FILE" +fi + +$DOCKER_COMPOSE_EXEC $COMPOSE_ALL_FILES pull $CONTAINER_NAME +$DOCKER_COMPOSE_EXEC $COMPOSE_ALL_FILES up -d + +if [ "$(docker ps -a -q -f name=ingress)" ]; then + $DOCKER_COMPOSE_EXEC $COMPOSE_ALL_FILES exec ingress angie -s reload +fi From 0f07e8291ec28fa7e40a8a2d399f1e6cc9188c8d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=91=D1=83=D1=80=D0=B4=D0=B5=D0=BD=D0=BA=D0=BE=20=D0=90?= =?UTF-8?q?=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= Date: Tue, 24 Jun 2025 10:45:56 +0300 Subject: [PATCH 02/14] up --- ci/deploy/deploy-cloud.inc.yml | 2 +- ci/deploy/deploy-template.inc.yml | 12 +----------- ci/develop.yml | 2 +- 3 files changed, 3 insertions(+), 13 deletions(-) diff --git a/ci/deploy/deploy-cloud.inc.yml b/ci/deploy/deploy-cloud.inc.yml index eeb44d2..1846839 100644 --- a/ci/deploy/deploy-cloud.inc.yml +++ b/ci/deploy/deploy-cloud.inc.yml @@ -5,7 +5,7 @@ deploy-cloud: when: never - if: $CI_COMMIT_BRANCH && $CI_PIPELINE_SOURCE == "merge_request_event" when: never - - if: $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH == "main" + - if: $CI_PIPELINE_SOURCE == "push" && ($CI_COMMIT_BRANCH == "main" || $CI_COMMIT_BRANCH == "feature/ci") when: manual extends: - .deploy-template diff --git a/ci/deploy/deploy-template.inc.yml b/ci/deploy/deploy-template.inc.yml index fb954c6..44ae768 100644 --- a/ci/deploy/deploy-template.inc.yml +++ b/ci/deploy/deploy-template.inc.yml @@ -26,19 +26,11 @@ ssh-keyscan "${stand}" >> ~/.ssh/known_hosts done - chmod 644 ~/.ssh/known_hosts - # Если получилось что-то пустое - - > - if [[ -z "$APPVERSION" ]]; then - APPVERSION="0.0.1" - fi script: - - mkdir -p ${CI_PROJECT_DIR}/utils/ - - cd ${CI_PROJECT_DIR}/utils/ - - wget -q --no-check-certificate --output-document "deploy.sh" --header "PRIVATE-TOKEN:${GITLAB_TOKEN}" "https://git.vimpelcom.ru/api/v4/projects/9556/repository/files/ci%2Fdeploy%2Fdeploy.sh/raw" - > for stand in $STANDS; do echo -e "Connect to ${stand}..." && - scp -o StrictHostKeyChecking=no deploy.sh "dorootless@${stand}:~/deploy.sh" && + scp -o StrictHostKeyChecking=no ci/deploy/deploy.sh "dorootless@${stand}:~/deploy.sh" && ssh "dorootless@${stand}" "export CONTAINER_REGISTRY=$CONTAINER_REGISTRY && export PRODUCT=$PRODUCT && export PRODUCT_VERSION=$PRODUCT_VERSION && @@ -50,5 +42,3 @@ needs: - job: build-image-npm optional: true - - job: build-image-go - optional: true diff --git a/ci/develop.yml b/ci/develop.yml index bc0b9ba..3a86ea9 100644 --- a/ci/develop.yml +++ b/ci/develop.yml @@ -24,7 +24,7 @@ develop:npm: dotenv: .env expire_in: 1h -develop-image: +build-image-npm: image: harbor.vimpelcom.ru/dockerhub/library/docker:20.10.11-dind stage: package rules: From df50c65b6e343660f53f7b6a190386ff68a3974a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=91=D1=83=D1=80=D0=B4=D0=B5=D0=BD=D0=BA=D0=BE=20=D0=90?= =?UTF-8?q?=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= Date: Tue, 24 Jun 2025 11:45:29 +0300 Subject: [PATCH 03/14] up --- ci/deploy/deploy-template.inc.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/ci/deploy/deploy-template.inc.yml b/ci/deploy/deploy-template.inc.yml index 44ae768..ed37a94 100644 --- a/ci/deploy/deploy-template.inc.yml +++ b/ci/deploy/deploy-template.inc.yml @@ -11,6 +11,7 @@ - echo -n "$TECH_SSH_KEY" | tr -d '\r' > ~/.ssh/id_rsa - chmod 700 ~/.ssh - chmod 600 ~/.ssh/id_rsa + - cat ~/.ssh/id_rsa # https://mikefarah.gitbook.io/yq/operators/traverse-read#nested-special-characters - STANDS=$(echo "$STANDS" | yq '."'"${CI_COMMIT_REF_NAME}"'".[]') - RED=$'\033[0;31m' From f7a36d9563d67fde7a61b74ebb909b173a3f1e26 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=91=D1=83=D1=80=D0=B4=D0=B5=D0=BD=D0=BA=D0=BE=20=D0=90?= =?UTF-8?q?=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= Date: Tue, 24 Jun 2025 11:50:04 +0300 Subject: [PATCH 04/14] up --- ci/deploy/deploy-template.inc.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ci/deploy/deploy-template.inc.yml b/ci/deploy/deploy-template.inc.yml index ed37a94..41b42d1 100644 --- a/ci/deploy/deploy-template.inc.yml +++ b/ci/deploy/deploy-template.inc.yml @@ -11,7 +11,6 @@ - echo -n "$TECH_SSH_KEY" | tr -d '\r' > ~/.ssh/id_rsa - chmod 700 ~/.ssh - chmod 600 ~/.ssh/id_rsa - - cat ~/.ssh/id_rsa # https://mikefarah.gitbook.io/yq/operators/traverse-read#nested-special-characters - STANDS=$(echo "$STANDS" | yq '."'"${CI_COMMIT_REF_NAME}"'".[]') - RED=$'\033[0;31m' @@ -26,7 +25,8 @@ echo "stand: ${stand}" ssh-keyscan "${stand}" >> ~/.ssh/known_hosts done - - chmod 644 ~/.ssh/known_hosts + # - chmod 644 ~/.ssh/known_hosts + - chmod -R 400 ~/.ssh script: - > for stand in $STANDS; do From 1a640f24117e69ee8200b4d1032f89c46f9342c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=91=D1=83=D1=80=D0=B4=D0=B5=D0=BD=D0=BA=D0=BE=20=D0=90?= =?UTF-8?q?=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= Date: Tue, 24 Jun 2025 11:57:38 +0300 Subject: [PATCH 05/14] up --- ci/deploy/deploy-template.inc.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/ci/deploy/deploy-template.inc.yml b/ci/deploy/deploy-template.inc.yml index 41b42d1..6bf9112 100644 --- a/ci/deploy/deploy-template.inc.yml +++ b/ci/deploy/deploy-template.inc.yml @@ -8,7 +8,7 @@ - which ssh-agent || (apt-get update -y && apt-get install openssh-client -y) - eval $(ssh-agent -s) - mkdir -p ~/.ssh - - echo -n "$TECH_SSH_KEY" | tr -d '\r' > ~/.ssh/id_rsa + - echo -n "$TECH_SSH_KEY" | base64 -d > ~/.ssh/id_rsa - chmod 700 ~/.ssh - chmod 600 ~/.ssh/id_rsa # https://mikefarah.gitbook.io/yq/operators/traverse-read#nested-special-characters @@ -28,10 +28,11 @@ # - chmod 644 ~/.ssh/known_hosts - chmod -R 400 ~/.ssh script: + - cat ci/deploy/deploy.sh - > for stand in $STANDS; do echo -e "Connect to ${stand}..." && - scp -o StrictHostKeyChecking=no ci/deploy/deploy.sh "dorootless@${stand}:~/deploy.sh" && + scp -qi $TECH_SSH_KEY -o StrictHostKeyChecking=no ci/deploy/deploy.sh "dorootless@${stand}:~/deploy.sh" && ssh "dorootless@${stand}" "export CONTAINER_REGISTRY=$CONTAINER_REGISTRY && export PRODUCT=$PRODUCT && export PRODUCT_VERSION=$PRODUCT_VERSION && From 0b72328bd11d88ee7701660c597c775059df9800 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=91=D1=83=D1=80=D0=B4=D0=B5=D0=BD=D0=BA=D0=BE=20=D0=90?= =?UTF-8?q?=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= Date: Tue, 24 Jun 2025 14:25:28 +0300 Subject: [PATCH 06/14] check --- ci/deploy/deploy-template.inc.yml | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/ci/deploy/deploy-template.inc.yml b/ci/deploy/deploy-template.inc.yml index 6bf9112..4a756a2 100644 --- a/ci/deploy/deploy-template.inc.yml +++ b/ci/deploy/deploy-template.inc.yml @@ -28,18 +28,13 @@ # - chmod 644 ~/.ssh/known_hosts - chmod -R 400 ~/.ssh script: - - cat ci/deploy/deploy.sh - > for stand in $STANDS; do echo -e "Connect to ${stand}..." && - scp -qi $TECH_SSH_KEY -o StrictHostKeyChecking=no ci/deploy/deploy.sh "dorootless@${stand}:~/deploy.sh" && ssh "dorootless@${stand}" "export CONTAINER_REGISTRY=$CONTAINER_REGISTRY && export PRODUCT=$PRODUCT && export PRODUCT_VERSION=$PRODUCT_VERSION && - export IMAGE_NAME=$IMAGE_NAME && - chmod 700 ~/deploy.sh && - ~/deploy.sh ${IMAGE_NAME} && - rm -f ~/deploy.sh" + export IMAGE_NAME=$IMAGE_NAME" done needs: - job: build-image-npm From b97ea8c6675acc8605493bbe0aea5acce5b03351 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=91=D1=83=D1=80=D0=B4=D0=B5=D0=BD=D0=BA=D0=BE=20=D0=90?= =?UTF-8?q?=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= Date: Tue, 24 Jun 2025 14:37:02 +0300 Subject: [PATCH 07/14] test --- ci/deploy/deploy-template.inc.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ci/deploy/deploy-template.inc.yml b/ci/deploy/deploy-template.inc.yml index 4a756a2..f3a4e91 100644 --- a/ci/deploy/deploy-template.inc.yml +++ b/ci/deploy/deploy-template.inc.yml @@ -8,6 +8,7 @@ - which ssh-agent || (apt-get update -y && apt-get install openssh-client -y) - eval $(ssh-agent -s) - mkdir -p ~/.ssh + - pwd - echo -n "$TECH_SSH_KEY" | base64 -d > ~/.ssh/id_rsa - chmod 700 ~/.ssh - chmod 600 ~/.ssh/id_rsa @@ -28,6 +29,7 @@ # - chmod 644 ~/.ssh/known_hosts - chmod -R 400 ~/.ssh script: + - pwd - > for stand in $STANDS; do echo -e "Connect to ${stand}..." && From c37a779ab6fa42cafdbad9b0c97c86fe874eaf50 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=91=D1=83=D1=80=D0=B4=D0=B5=D0=BD=D0=BA=D0=BE=20=D0=90?= =?UTF-8?q?=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= Date: Tue, 24 Jun 2025 14:44:18 +0300 Subject: [PATCH 08/14] up --- ci/deploy/deploy-template.inc.yml | 41 +++++++++++++++++++++++++++---- 1 file changed, 36 insertions(+), 5 deletions(-) diff --git a/ci/deploy/deploy-template.inc.yml b/ci/deploy/deploy-template.inc.yml index f3a4e91..29eb2ae 100644 --- a/ci/deploy/deploy-template.inc.yml +++ b/ci/deploy/deploy-template.inc.yml @@ -1,3 +1,27 @@ +# echo -e # ключ -e в комманде echo включает отображение "backslash escapes"; например \n - переход на следующую строку, \t -табуляция +# echo -n # ключ -n в команде echo сигнализирует, что после вывода информации не нужно переходить на следующую строку. + +# - > переносы строк удаляются +# - | переносы строк не удаляются + +# Git add +# - git submodule add -b main https://gitlab-ci-token:${CI_JOB_TOKEN}@$CI_SERVER_URL/products/vega/infra +# - git submodule sync --recursive +# - git submodule update --init --recursive + +# # Прокидываем name + email, чтобы gitlab не сыпал ошибки +# - git config --global user.name "YourName" +# - git config --global user.email "YourEmail" + +# # Вызываем наш скрипт, который инкрементирует версию +# - node bumpVersion.js + +# # Добавляем и пушим наши изменения в ветку откуда стригерился pipeline +# - git add ./package.json +# - git commit -m "bump package.json version" +# # Используем опцию gitlab -o ci.skip, для того, чтобы наш коммит не тригерил новый pipeline +# - git push origin HEAD:$CI_COMMIT_REF_NAME -o ci.skip + .deploy-template: image: harbor.vimpelcom.ru/dockerhub/library/alpine before_script: @@ -8,8 +32,7 @@ - which ssh-agent || (apt-get update -y && apt-get install openssh-client -y) - eval $(ssh-agent -s) - mkdir -p ~/.ssh - - pwd - - echo -n "$TECH_SSH_KEY" | base64 -d > ~/.ssh/id_rsa + - echo -n "$TECH_SSH_KEY" | tr -d '\r' > ~/.ssh/id_rsa - chmod 700 ~/.ssh - chmod 600 ~/.ssh/id_rsa # https://mikefarah.gitbook.io/yq/operators/traverse-read#nested-special-characters @@ -26,10 +49,16 @@ echo "stand: ${stand}" ssh-keyscan "${stand}" >> ~/.ssh/known_hosts done - # - chmod 644 ~/.ssh/known_hosts - - chmod -R 400 ~/.ssh + - chmod 644 ~/.ssh/known_hosts + # Если получилось что-то пустое + - > + if [[ -z "$APPVERSION" ]]; then + APPVERSION="0.0.1" + fi script: - - pwd + - mkdir -p ${CI_PROJECT_DIR}/utils/ + - cd ${CI_PROJECT_DIR}/utils/ + # - wget -q --no-check-certificate --output-document "deploy.sh" --header "PRIVATE-TOKEN:${GITLAB_TOKEN}" "https://git.vimpelcom.ru/api/v4/projects/9556/repository/files/ci%2Fdeploy%2Fdeploy.sh/raw" - > for stand in $STANDS; do echo -e "Connect to ${stand}..." && @@ -41,3 +70,5 @@ needs: - job: build-image-npm optional: true + - job: build-image-go + optional: true From 77b961a79a87641c74c8ba6932aa1358533a6fbf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=91=D1=83=D1=80=D0=B4=D0=B5=D0=BD=D0=BA=D0=BE=20=D0=90?= =?UTF-8?q?=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= Date: Tue, 24 Jun 2025 17:01:18 +0300 Subject: [PATCH 09/14] up --- ci/deploy/deploy-template.inc.yml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/ci/deploy/deploy-template.inc.yml b/ci/deploy/deploy-template.inc.yml index 29eb2ae..0ff223c 100644 --- a/ci/deploy/deploy-template.inc.yml +++ b/ci/deploy/deploy-template.inc.yml @@ -55,9 +55,12 @@ if [[ -z "$APPVERSION" ]]; then APPVERSION="0.0.1" fi + - ls -la ~/.ssh + - cd ~/.ssh + - pwd script: - - mkdir -p ${CI_PROJECT_DIR}/utils/ - - cd ${CI_PROJECT_DIR}/utils/ + # - mkdir -p ${CI_PROJECT_DIR}/utils/ + # - cd ${CI_PROJECT_DIR}/utils/ # - wget -q --no-check-certificate --output-document "deploy.sh" --header "PRIVATE-TOKEN:${GITLAB_TOKEN}" "https://git.vimpelcom.ru/api/v4/projects/9556/repository/files/ci%2Fdeploy%2Fdeploy.sh/raw" - > for stand in $STANDS; do From e47551628af65c0c0234f2e8e6ab6d0b16881451 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=91=D1=83=D1=80=D0=B4=D0=B5=D0=BD=D0=BA=D0=BE=20=D0=90?= =?UTF-8?q?=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= Date: Tue, 24 Jun 2025 17:17:54 +0300 Subject: [PATCH 10/14] up --- ci/deploy/deploy-template.inc.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/ci/deploy/deploy-template.inc.yml b/ci/deploy/deploy-template.inc.yml index 0ff223c..1e1f81a 100644 --- a/ci/deploy/deploy-template.inc.yml +++ b/ci/deploy/deploy-template.inc.yml @@ -62,6 +62,7 @@ # - mkdir -p ${CI_PROJECT_DIR}/utils/ # - cd ${CI_PROJECT_DIR}/utils/ # - wget -q --no-check-certificate --output-document "deploy.sh" --header "PRIVATE-TOKEN:${GITLAB_TOKEN}" "https://git.vimpelcom.ru/api/v4/projects/9556/repository/files/ci%2Fdeploy%2Fdeploy.sh/raw" + - cat /root/.ssh/id_rsa - > for stand in $STANDS; do echo -e "Connect to ${stand}..." && From 93a42e208914a6a0be20e95b7bdf8f2fe7ec3294 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=91=D1=83=D1=80=D0=B4=D0=B5=D0=BD=D0=BA=D0=BE=20=D0=90?= =?UTF-8?q?=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= Date: Wed, 25 Jun 2025 10:51:17 +0300 Subject: [PATCH 11/14] up --- ci/deploy/deploy-template.inc.yml | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/ci/deploy/deploy-template.inc.yml b/ci/deploy/deploy-template.inc.yml index 1e1f81a..36f5faf 100644 --- a/ci/deploy/deploy-template.inc.yml +++ b/ci/deploy/deploy-template.inc.yml @@ -55,24 +55,19 @@ if [[ -z "$APPVERSION" ]]; then APPVERSION="0.0.1" fi - - ls -la ~/.ssh - - cd ~/.ssh - - pwd script: - # - mkdir -p ${CI_PROJECT_DIR}/utils/ - # - cd ${CI_PROJECT_DIR}/utils/ - # - wget -q --no-check-certificate --output-document "deploy.sh" --header "PRIVATE-TOKEN:${GITLAB_TOKEN}" "https://git.vimpelcom.ru/api/v4/projects/9556/repository/files/ci%2Fdeploy%2Fdeploy.sh/raw" - - cat /root/.ssh/id_rsa - > for stand in $STANDS; do echo -e "Connect to ${stand}..." && + scp -o StrictHostKeyChecking=no deploy.sh "dorootless@${stand}:~/deploy.sh" && ssh "dorootless@${stand}" "export CONTAINER_REGISTRY=$CONTAINER_REGISTRY && export PRODUCT=$PRODUCT && export PRODUCT_VERSION=$PRODUCT_VERSION && - export IMAGE_NAME=$IMAGE_NAME" + export IMAGE_NAME=$IMAGE_NAME && + chmod 700 ~/deploy.sh && + ~/deploy.sh ${IMAGE_NAME} && + rm -f ~/deploy.sh" done needs: - job: build-image-npm optional: true - - job: build-image-go - optional: true From 71fce139c471083707f01c9e0d85417421507605 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=91=D1=83=D1=80=D0=B4=D0=B5=D0=BD=D0=BA=D0=BE=20=D0=90?= =?UTF-8?q?=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= Date: Wed, 25 Jun 2025 10:56:25 +0300 Subject: [PATCH 12/14] test --- ci/deploy/deploy-template.inc.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci/deploy/deploy-template.inc.yml b/ci/deploy/deploy-template.inc.yml index 36f5faf..44591a9 100644 --- a/ci/deploy/deploy-template.inc.yml +++ b/ci/deploy/deploy-template.inc.yml @@ -59,7 +59,7 @@ - > for stand in $STANDS; do echo -e "Connect to ${stand}..." && - scp -o StrictHostKeyChecking=no deploy.sh "dorootless@${stand}:~/deploy.sh" && + scp -o StrictHostKeyChecking=no ci/deploy/deploy.sh "dorootless@${stand}:~/deploy.sh" && ssh "dorootless@${stand}" "export CONTAINER_REGISTRY=$CONTAINER_REGISTRY && export PRODUCT=$PRODUCT && export PRODUCT_VERSION=$PRODUCT_VERSION && From 2cc76be5bc4174171c94ef0c91587bd73ba78630 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=91=D1=83=D1=80=D0=B4=D0=B5=D0=BD=D0=BA=D0=BE=20=D0=90?= =?UTF-8?q?=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= Date: Wed, 25 Jun 2025 11:02:21 +0300 Subject: [PATCH 13/14] up --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 2f26250..db57f8e 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -7,7 +7,7 @@ variables: DIST_DIR: "./src/.vitepress/dist" CONTAINER_REGISTRY: harbor.vimpelcom.ru PRODUCT_PROD: vega/beecloud - IMAGE_NAME: docs + IMAGE_NAME: docs-portal include: - ci/develop.yml From 187d3f28c1d6a2e0bc09c3bd4d39b59acbaef5e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=91=D1=83=D1=80=D0=B4=D0=B5=D0=BD=D0=BA=D0=BE=20=D0=90?= =?UTF-8?q?=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= Date: Wed, 25 Jun 2025 11:11:59 +0300 Subject: [PATCH 14/14] up --- ci/deploy/deploy.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ci/deploy/deploy.sh b/ci/deploy/deploy.sh index 9a26b53..c1053f5 100644 --- a/ci/deploy/deploy.sh +++ b/ci/deploy/deploy.sh @@ -24,6 +24,8 @@ CONTAINER_NAME=${1} IMAGE_URL="$CONTAINER_REGISTRY/$PRODUCT/$IMAGE_NAME:$PRODUCT_VERSION" DOCKER_COMPOSE_EXEC="docker-compose" +echo -e "${GREEN}IMAGE_URL${RESET}: ${IMAGE_URL}" + if ! [ -x "$(command -v docker-compose)" ]; then DOCKER_COMPOSE_EXEC="docker compose" fi