Workers prod

This commit is contained in:
Jorge Sánchez
2024-10-01 18:28:01 -05:00
parent 8a2b9d90d4
commit bbfc836c6b
16 changed files with 319 additions and 1 deletions

91
gitlab-ci-main.yml Normal file
View File

@@ -0,0 +1,91 @@
variables:
BUILD_VERSION: $CI_COMMIT_SHORT_SHA
IMAGE_NAME: panel-workers
FRONT_URL: $FRONT_URL
DB_HOST: $DB_HOST
DB_PORT: $DB_PORT
DB_DATABASE: $DB_DATABASE
DB_USERNAME: $DB_USERNAME
DB_PASSWORD: $DB_PASSWORD
stages:
- build_bkp
- build
pre_build_image:
tags:
- workers-dind
stage: build_bkp
image: docker:25.0.1
services:
- docker:25.0.1-dind
rules:
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
variables:
IMAGE_TAG: $CI_COMMIT_SHORT_SHA
before_script:
- echo $CI_REGISTRY_PASSWORD | docker login -u $CI_REGISTRY_USER $CI_REGISTRY --password-stdin
script:
# Building Docker image (tag $CI_COMMIT_SHORT_SHA)...
- echo "Building Docker images (tag $CI_COMMIT_SHORT_SHA)..."
- docker build
--pull
--build-arg FRONT_URL=$FRONT_URL
--build-arg DB_HOST=$DB_HOST
--build-arg DB_PORT=$DB_PORT
--build-arg DB_DATABASE=$DB_DATABASE
--build-arg DB_USERNAME=$DB_USERNAME
--build-arg DB_PASSWORD=$DB_PASSWORD
--cache-from $CI_REGISTRY_IMAGE:$IMAGE_TAG
--label "org.opencontainers.image.title=$CI_PROJECT_TITLE"
--label "org.opencontainers.image.url=$CI_PROJECT_URL"
--label "org.opencontainers.image.created=$CI_JOB_STARTED_AT"
--label "org.opencontainers.image.revision=$CI_COMMIT_SHA"
--label "org.opencontainers.image.version=$CI_COMMIT_REF_NAME"
--tag $CI_REGISTRY_IMAGE:$IMAGE_TAG .
# Pushing Docker image to GitLab container registry (tag $IMAGE_TAG)...
- echo "Pushing Docker image to GitLab container registry (tag $IMAGE_TAG)..."
- docker push $CI_REGISTRY_IMAGE:$IMAGE_TAG
build_image:
tags:
- workers-dind
stage: build
variables:
DOCKER_TLS_CERTDIR: /certs
image: docker:25.0.1
services:
- docker:25.0.1-dind
rules:
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
variables:
IMAGE_TAG: latest
- if: $CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH
variables:
IMAGE_TAG: $CI_COMMIT_BRANCH
before_script:
- echo $CI_REGISTRY_PASSWORD | docker login -u $CI_REGISTRY_USER $CI_REGISTRY --password-stdin
- echo "tag=$IMAGE_TAG"
script:
# Building Docker image (tag $IMAGE_TAG)...
- echo "Building Docker image (tag $IMAGE_TAG)..."
- docker build
--pull
--build-arg FRONT_URL=$FRONT_URL
--build-arg DB_HOST=$DB_HOST
--build-arg DB_PORT=$DB_PORT
--build-arg DB_DATABASE=$DB_DATABASE
--build-arg DB_USERNAME=$DB_USERNAME
--build-arg DB_PASSWORD=$DB_PASSWORD
--cache-from $CI_REGISTRY_IMAGE:$IMAGE_TAG
--label "org.opencontainers.image.title=$CI_PROJECT_TITLE"
--label "org.opencontainers.image.url=$CI_PROJECT_URL"
--label "org.opencontainers.image.created=$CI_JOB_STARTED_AT"
--label "org.opencontainers.image.revision=$CI_COMMIT_SHA"
--label "org.opencontainers.image.version=$CI_COMMIT_REF_NAME"
--tag $CI_REGISTRY_IMAGE:$IMAGE_TAG .
# Pushing Docker image to GitLab container registry (tag $IMAGE_TAG)...
- echo "Pushing Docker image to GitLab container registry (tag $IMAGE_TAG)..."
- docker push $CI_REGISTRY_IMAGE:$IMAGE_TAG