40 lines
1.4 KiB
YAML
40 lines
1.4 KiB
YAML
deploy-prod:
|
|
stage: deploy
|
|
image: harbor.vimpelcom.ru/dockerhub/library/alpine:3.21.2
|
|
variables:
|
|
stand: beecloud-docs.beecloud-docs.cloud.vimpelcom.ru
|
|
rules:
|
|
- if: $CI_COMMIT_BRANCH && $CI_PIPELINE_SOURCE == "merge_request_event"
|
|
when: never
|
|
- if: $CI_PIPELINE_SOURCE == "push"
|
|
when: manual
|
|
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
|
|
- >
|
|
echo "stand: ${stand}"
|
|
ssh-keyscan "${stand}" >> ~/.ssh/known_hosts
|
|
- chmod 644 ~/.ssh/known_hosts
|
|
script:
|
|
- >
|
|
echo -e "Connect to ${stand}..." &&
|
|
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 &&
|
|
export IMAGE_NAME=$IMAGE_NAME &&
|
|
chmod 700 ~/deploy.sh &&
|
|
~/deploy.sh ${IMAGE_NAME} &&
|
|
rm -f ~/deploy.sh"
|
|
needs:
|
|
- job: build-image
|
|
optional: true
|