@@ -5,7 +5,7 @@ workflow:
55
66variables :
77 HARBOR_LIBRARY : ${HARBOR_HOST}/library
8- HARBOR_IMAGE : ${HARBOR_HOST}/apps/${CI_PROJECT_NAME}
8+ HARBOR_IMAGE : ${HARBOR_HOST}/common- apps/${CI_PROJECT_NAME}
99
1010stages :
1111 - test
@@ -36,27 +36,48 @@ build_image:
3636 after_script :
3737 - docker logout $HARBOR_HOST
3838
39- deploy_production :
39+ .deploy_docker_compose :
4040 image : kroniak/ssh-client
41- stage : deploy
4241 variables :
42+ ENVIRONMENT : ENVIRONMENT_PLACEHOLDER
43+ SSH_WORKDIR : /srv/${CI_PROJECT_NAME}
44+ SSH_DEPLOY_HOST : ${DEPLOY_HOST}
45+ SSH_DEPLOY_USER : ${DEPLOY_USER}
46+ SSH_DEPOLOY_PRIVATE_KEY : ${DEPLOY_PRIVATE_KEY}
4347 GIT_STRATEGY : none
44- needs :
45- - build_image
4648 dependencies :
4749 - build_image
50+ needs :
51+ - build_image
4852 script :
4953 - echo --------------SSH--------------
5054 - eval $(ssh-agent -s)
51- - echo "$DEPLOY_PRIVATE_KEY " | tr -d '\r' | ssh-add -
55+ - echo "$SSH_DEPOLOY_PRIVATE_KEY " | tr -d '\r' | ssh-add -
5256 - mkdir -p ~/.ssh && chmod 700 ~/.ssh
53- - ssh-keyscan "$TGR_DEPLOY_HOST " >> ~/.ssh/known_hosts
57+ - ssh-keyscan "$SSH_DEPLOY_HOST " >> ~/.ssh/known_hosts
5458 - chmod 644 ~/.ssh/known_hosts
5559 - echo --------------Deploy--------------
56- - ssh "$DEPLOY_USER "@"$TGR_DEPLOY_HOST " "docker pull ${HARBOR_IMAGE}/app:${CI_COMMIT_SHA}"
57- - ssh "$DEPLOY_USER "@"$TGR_DEPLOY_HOST " "docker rm -f ${CI_PROJECT_NAME} &>/dev/null && echo 'Removed old container'"
58- - ssh "$DEPLOY_USER "@"$TGR_DEPLOY_HOST " "docker run --rm --detach --name ${CI_PROJECT_NAME}
60+ - ssh "$SSH_DEPLOY_USER "@"$SSH_DEPLOY_HOST " "docker pull ${HARBOR_IMAGE}/app:${CI_COMMIT_SHA}"
61+ - ssh "$SSH_DEPLOY_USER "@"$SSH_DEPLOY_HOST " "docker rm -f ${CI_PROJECT_NAME} &>/dev/null && echo 'Removed old container'"
62+ - ssh "$SSH_DEPLOY_USER "@"$SSH_DEPLOY_HOST " "docker run --rm --detach --name ${CI_PROJECT_NAME}
5963 -e APP_TELEGRAM_TOKEN=\"${BOT_TOKEN}\"
6064 ${HARBOR_IMAGE}/app:${CI_COMMIT_SHA}"
65+
66+ deploy_production :
67+ stage : deploy
68+ tags :
69+ - infra-network
70+ - deploy
71+ extends : .deploy_docker_compose
72+ when : manual
73+ variables :
74+ ENVIRONMENT : production
75+ SSH_WORKDIR : /srv/${CI_PROJECT_NAME}
76+ SSH_DEPLOY_HOST : ${DEPLOY_HOST_PRODUCTION}
77+ SSH_DEPLOY_USER : ${INFRA_DEPLOY_SSH_USER}
78+ SSH_DEPOLOY_PRIVATE_KEY : ${INFRA_DEPLOY_SSH_KEY}
79+ environment :
80+ name : production
6181 rules :
6282 - when : manual
83+ allow_failure : true
0 commit comments