nord vpnnord vpn
Ad

Untitled

mail@pastecode.io avatar
unknown
plain_text
24 days ago
1.9 kB
13
Indexable
Never
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-.*$/
Leave a Comment


nord vpnnord vpn
Ad