ci: preparation for production

This commit is contained in:
skeris 2024-01-26 18:22:45 +03:00
parent 6d6fbb0f23
commit 30fcade6b9
6 changed files with 32 additions and 43 deletions

@ -1 +1 @@
REACT_APP_DOMAIN="https://services.pena.digital"
REACT_APP_DOMAIN=""

@ -1 +1 @@
REACT_APP_DOMAIN="https://services.pena.digital"
REACT_APP_DOMAIN=""

1
.gitignore vendored

@ -7,6 +7,7 @@
# testing
/coverage
/.idea
# production
/build

@ -1,60 +1,38 @@
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
script:
- "docker system prune -a"
build-app:
extends: .build_template
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
tags:
- frontbuild
variables:
DOCKER_BUILD_PATH: "build/Dockerfile"
PRODUCTION_BRANCH: main
STAGING_BRANCH: "main"
rules:
- if: $IS_CRON != "true" && ( $CI_COMMIT_BRANCH == $PRODUCTION_BRANCH || $CI_COMMIT_BRANCH == $STAGING_BRANCH )
script:
- docker build -t $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG.$CI_PIPELINE_ID $CI_PROJECT_DIR
- docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG.$CI_PIPELINE_ID
STAGING_BRANCH: staging
deploy-to-staging:
extends: .deploy_template
rules:
- if: $CI_COMMIT_BRANCH == $STAGING_BRANCH
tags:
- front
- staging
stage: deploy
variables:
DEPLOY_TO: "staging"
BRANCH: "main"
PRODUCTION_BRANCH: main
STAGING_BRANCH: "main"
rules:
- if: $IS_CRON != "true" && ( $CI_COMMIT_BRANCH == $PRODUCTION_BRANCH || $CI_COMMIT_BRANCH == $STAGING_BRANCH )
deploy-to-prod:
extends: .deploy_template
rules:
- if: $CI_COMMIT_BRANCH == $PRODUCTION_BRANCH
tags:
- front
- prod
stage: deploy

@ -0,0 +1,10 @@
version: "3.3"
services:
services:
container_name: services_front
restart: always
image: $CI_REGISTRY_IMAGE/main:$CI_COMMIT_REF_SLUG.$CI_PIPELINE_ID
networks:
- default
hostname: services
tty: true

@ -3,7 +3,7 @@ services:
services:
container_name: services_front
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
networks:
- marketplace_penahub_frontend
hostname: services