From c60c3b1125503cbeeed0bb9cffc526dca90bf4bf Mon Sep 17 00:00:00 2001 From: skeris Date: Sat, 27 Jan 2024 06:07:29 +0300 Subject: [PATCH] feat: preparing fro production --- .gitlab-ci.yml | 36 ++++++++++++------------- deployments/main/docker-compose.yaml | 24 +++++++++++++++++ deployments/staging/docker-compose.yaml | 2 +- 3 files changed, 42 insertions(+), 20 deletions(-) create mode 100644 deployments/main/docker-compose.yaml diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 1f14bee..8f8efc4 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,31 +1,29 @@ include: - project: "devops/pena-continuous-integration" - file: "/nodejs/docker/nodejs.gitlab-ci.yml" + file: "/templates/docker/build-template.gitlab-ci.yml" + - project: "devops/pena-continuous-integration" + file: "/templates/docker/deploy-template.gitlab-ci.yml" build-app: stage: build tags: - nodebuild + extends: .build_template variables: DOCKER_BUILD_PATH: "./Dockerfile" PRODUCTION_BRANCH: main STAGING_BRANCH: staging + +deploy-to-staging: + tags: + - staging rules: - - if: "$CI_COMMIT_BRANCH == $PRODUCTION_BRANCH || $CI_COMMIT_BRANCH == $STAGING_BRANCH" - when: on_success - before_script: - - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY - - echo PRODUCTION_BRANCH = $PRODUCTION_BRANCH - - echo STAGING_BRANCH = $STAGING_BRANCH - - echo CI_REGISTRY = $CI_REGISTRY - - echo CI_REGISTRY_USER = $CI_REGISTRY_USER - - echo CI_PROJECT_DIR = $CI_PROJECT_DIR - - echo CI_REGISTRY_IMAGE = $CI_REGISTRY_IMAGE - - echo CI_COMMIT_REF_SLUG = $CI_COMMIT_REF_SLUG - - echo DOCKER_BUILD_PATH = $DOCKER_BUILD_PATH - - echo CI_PIPELINE_ID = $CI_PIPELINE_ID - script: - - docker build -t $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG.$CI_PIPELINE_ID --build-arg GITLAB_TOKEN=$GITLAB_TOKEN - $CI_PROJECT_DIR - - docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG.$CI_PIPELINE_ID - extends: ".build_template" \ No newline at end of file + - if: "$CI_COMMIT_BRANCH == $STAGING_BRANCH" + extends: .deploy_template + +deploy-to-prod: + rules: + - if: "$CI_COMMIT_BRANCH == $PRODUCTION_BRANCH" + tags: + - prod + extends: .deploy_template diff --git a/deployments/main/docker-compose.yaml b/deployments/main/docker-compose.yaml new file mode 100644 index 0000000..5f3ec2e --- /dev/null +++ b/deployments/main/docker-compose.yaml @@ -0,0 +1,24 @@ +version: "3.3" + +services: + admin: + container_name: hub-admin-backend-service + restart: unless-stopped + tty: true + image: $CI_REGISTRY_IMAGE/main:$CI_COMMIT_REF_SLUG.$CI_PIPELINE_ID + ports: + - 10.8.0.8:59303:8005 + networks: + - default + environment: + - DB_HOST=10.8.0.8 + - DB_PORT=27017 + - ENVIRONMENT=staging + - HTTP_HOST=0.0.0.0 + - HTTP_PORT=8005 + - AUTH_SERVICE_HOST=http://10.8.0.8 + - AUTH_SERVICE_PORT=59300 + - DB_USERNAME=$DB_USERNAME-prod + - DB_PASSWORD=$DB_PASSWORD + - DB_NAME=administrator + - PUBLIC_ACCESS_SECRET_KEY=$PUBLIC_ACCESS_SECRET_KEY diff --git a/deployments/staging/docker-compose.yaml b/deployments/staging/docker-compose.yaml index cf59d80..2d26039 100644 --- a/deployments/staging/docker-compose.yaml +++ b/deployments/staging/docker-compose.yaml @@ -5,7 +5,7 @@ services: container_name: hub-admin-backend-service restart: unless-stopped tty: true - image: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG.$CI_PIPELINE_ID + image: $CI_REGISTRY_IMAGE/staging:$CI_COMMIT_REF_SLUG.$CI_PIPELINE_ID ports: - 59303:8005 networks: