ci: preparations for production
This commit is contained in:
parent
31ffc5ab23
commit
af86440cb0
@ -1,57 +1,26 @@
|
||||
include:
|
||||
- project: "devops/pena-continuous-integration"
|
||||
file: "/templates/docker/build-template.gitlab-ci.yml"
|
||||
- project: "devops/pena-continuous-integration"
|
||||
file: "/templates/docker/clean-template.gitlab-ci.yml"
|
||||
- project: "devops/pena-continuous-integration"
|
||||
file: "/templates/docker/deploy-template.gitlab-ci.yml"
|
||||
stages:
|
||||
- clean
|
||||
- build
|
||||
- deploy
|
||||
|
||||
clear-old-images:
|
||||
extends: .clean_template
|
||||
variables:
|
||||
STAGING_BRANCH: "main"
|
||||
PRODUCTION_BRANCH: "main"
|
||||
image:
|
||||
name: docker/compose:1.28.0
|
||||
entrypoint: [""]
|
||||
before_script:
|
||||
- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
|
||||
- docker images
|
||||
script:
|
||||
- docker system prune -af
|
||||
|
||||
build-app:
|
||||
stage: build
|
||||
before_script:
|
||||
- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
|
||||
- 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
|
||||
- echo JWT_SECRET = $JWT_SECRET
|
||||
|
||||
variables:
|
||||
DOCKER_BUILD_PATH: "build/Dockerfile"
|
||||
PRODUCTION_BRANCH: main
|
||||
STAGING_BRANCH: "main"
|
||||
rules:
|
||||
- if: $CI_COMMIT_BRANCH == $PRODUCTION_BRANCH || $CI_COMMIT_BRANCH == $STAGING_BRANCH
|
||||
|
||||
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
|
||||
|
||||
deploy-to-staging:
|
||||
rules:
|
||||
- if: "$CI_COMMIT_BRANCH == $STAGING_BRANCH"
|
||||
extends: .deploy_template
|
||||
tags:
|
||||
- staging
|
||||
extends: .deploy_template
|
||||
|
||||
deploy-to-prod:
|
||||
rules:
|
||||
- if: "$CI_COMMIT_BRANCH == $PRODUCTION_BRANCH"
|
||||
tags:
|
||||
- prod
|
||||
extends: .deploy_template
|
||||
variables:
|
||||
DEPLOY_TO: "staging"
|
||||
BRANCH: "main"
|
||||
|
19
deployments/main/docker-compose.yaml
Normal file
19
deployments/main/docker-compose.yaml
Normal file
@ -0,0 +1,19 @@
|
||||
services:
|
||||
verification:
|
||||
container_name: verification_service
|
||||
restart: unless-stopped
|
||||
image: $CI_REGISTRY_IMAGE/main:$CI_COMMIT_REF_SLUG.$CI_PIPELINE_ID
|
||||
hostname: verification_service
|
||||
ports:
|
||||
- 10.8.0.8:7035:7035
|
||||
environment:
|
||||
MONGO_URI: mongodb://$MONGO_USER-prod:$MONGO_PASSWORD@10.8.0.8:27017/?authSource=verification
|
||||
PENADISK_URL: $PENADISK_URL
|
||||
TELEGRAM_TOKEN: $TELEGRAM_TOKEN
|
||||
TELEGRAM_CHANNEL_ID: $TELEGRAM_CHANNEL_ID
|
||||
S3_ENDPOINT: $S3_ENDPOINT
|
||||
S3_ACCESS_KEY_ID: $S3_ACCESS_KEY_ID
|
||||
S3_SECRET_KEY: $S3_SECRET_KEY
|
||||
JWT_SECRET: $JWT_SECRET
|
||||
|
||||
tty: true
|
@ -2,7 +2,7 @@ services:
|
||||
verification:
|
||||
container_name: verification_service
|
||||
restart: unless-stopped
|
||||
image: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG.$CI_PIPELINE_ID
|
||||
image: $CI_REGISTRY_IMAGE/staging:$CI_COMMIT_REF_SLUG.$CI_PIPELINE_ID
|
||||
hostname: verification_service
|
||||
ports:
|
||||
- "7035:7035"
|
||||
|
Loading…
Reference in New Issue
Block a user