Untitled
unknown
plain_text
2 years ago
1.9 kB
18
Indexable
stages:
- build
- deploy
services:
- name: docker:dind
entrypoint: ["env", "-u", "DOCKER_HOST"]
command: ["dockerd-entrypoint.sh"]
variables:
CONTAINER_IMAGE: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG
build_dev:
image: docker:20.10.16
stage: build
services:
- docker:20.10.16-dind
allow_failure: false
environment:
name: development
before_script:
- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
script:
- echo "Building image..."
- docker build -t $CONTAINER_IMAGE .
- docker push $CONTAINER_IMAGE
only:
- develop
- /^dev-.*$/
build_prod:
stage: build
when: manual
allow_failure: false
environment:
name: production
script:
- echo "Building image..."
only:
- /^release-/
.deploy_template:
image: ubuntu
stage: deploy
before_script:
- 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client git -y )'
- eval $(ssh-agent -s)
- echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add -
- mkdir -p ~/.ssh
- chmod 700 ~/.ssh
- ssh-keyscan -p $SSH_PORT_SERVER $SSH_IP_SERVER >> ~/.ssh/known_hosts
- chmod 644 ~/.ssh/known_hosts
- cat ~/.ssh/known_hosts
script:
- echo "SSH to SERVER"
- >
ssh $SSH_USER@$SSH_IP_SERVER -p $SSH_PORT_SERVER
"
docker login -u $DEPLOY_USER -p $DEPLOY_TOKEN $CI_REGISTRY &
docker pull $CONTAINER_IMAGE &
docker run -d --name dem-test CONTAINER_IMAGE
"
deploy_dev:
extends: .deploy_template
environment:
name: development
variables:
DEPLOY_BRANCH: develop
APP_IAMGE_TAG: dev
only:
- develop
- /^dev-.*$/
deploy_production:
extends: .deploy_template
environment:
name: production
variables:
DEPLOY_BRANCH: production
APP_IMAGE_TAG: production
only:
- production
- /^release-.*$/Editor is loading...
Leave a Comment