Merge branch 'pipeline-refactoring' into 'dev'
Update CI images with digests and remove redundant declarations See merge request rheinsw/website!11
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
image: node:20
|
||||
image: node:20@sha256:735b1ba7e4550c415f98568efbf527e3f75828ac4f10692e490ca78e11d89f6e
|
||||
|
||||
workflow:
|
||||
rules:
|
||||
@@ -34,6 +34,23 @@ variables:
|
||||
- ssh-add ~/.ssh/deploy_key
|
||||
- ssh-keyscan -p 22 -H '192.168.41.101' >> ~/.ssh/known_hosts || true
|
||||
|
||||
.deploy_production_rule: &deploy_production_rule
|
||||
- if: $CI_COMMIT_BRANCH == "production"
|
||||
when: manual
|
||||
allow_failure: true
|
||||
|
||||
.deploy_script: &deploy_script
|
||||
- |
|
||||
echo "Deploying $DOCKER_IMAGE:$TAG to $CONTAINER_NAME on port $PORT..."
|
||||
|
||||
ssh gitlab@192.168.41.101 -p 22 "
|
||||
echo \"$CI_REGISTRY_PASSWORD\" | docker login $CI_REGISTRY -u \"$CI_REGISTRY_USER\" --password-stdin &&
|
||||
docker pull $DOCKER_IMAGE:$TAG &&
|
||||
docker stop $CONTAINER_NAME || true &&
|
||||
docker rm $CONTAINER_NAME || true &&
|
||||
docker run -d --name $CONTAINER_NAME -p $PORT:3000 $DOCKER_IMAGE:$TAG
|
||||
"
|
||||
|
||||
build:
|
||||
stage: build
|
||||
script:
|
||||
@@ -43,7 +60,7 @@ build:
|
||||
|
||||
dockerize:
|
||||
stage: docker
|
||||
image: docker:latest
|
||||
image: docker:20.10@sha256:2967f0819c84dd589ed0a023b9d25dcfe7a3c123d5bf784ffbb77edf55335f0c
|
||||
services:
|
||||
- docker:dind
|
||||
before_script:
|
||||
@@ -65,42 +82,29 @@ dockerize:
|
||||
- dev
|
||||
- production
|
||||
|
||||
deploy:
|
||||
deploy_dev:
|
||||
stage: deploy
|
||||
image: node:20
|
||||
before_script: *install_deploy_key
|
||||
script:
|
||||
- |
|
||||
if [[ "$CI_COMMIT_REF_NAME" == "production" ]]; then
|
||||
TAG="latest"
|
||||
PORT="4100"
|
||||
elif [[ "$CI_COMMIT_REF_NAME" == "dev" ]]; then
|
||||
TAG="dev"
|
||||
PORT="5100"
|
||||
else
|
||||
echo "Skipping deployment for branch $CI_COMMIT_REF_NAME"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
CONTAINER_NAME="$CI_PROJECT_NAME-$CI_COMMIT_REF_NAME"
|
||||
echo "Deploying $DOCKER_IMAGE:$TAG to $CONTAINER_NAME on port $PORT..."
|
||||
|
||||
ssh gitlab@192.168.41.101 -p 22 "
|
||||
echo \"$CI_REGISTRY_PASSWORD\" | docker login $CI_REGISTRY -u \"$CI_REGISTRY_USER\" --password-stdin &&
|
||||
docker pull $DOCKER_IMAGE:$TAG &&
|
||||
docker stop $CONTAINER_NAME || true &&
|
||||
docker rm $CONTAINER_NAME || true &&
|
||||
docker run -d --name $CONTAINER_NAME -p $PORT:3000 $DOCKER_IMAGE:$TAG
|
||||
"
|
||||
- TAG="dev"
|
||||
- PORT="5100"
|
||||
- CONTAINER_NAME="$CI_PROJECT_NAME-dev"
|
||||
- *deploy_script
|
||||
only:
|
||||
- dev
|
||||
- production
|
||||
|
||||
# ------------------ New sync job added below ------------------
|
||||
deploy_production:
|
||||
stage: deploy
|
||||
rules: *deploy_production_rule
|
||||
before_script: *install_deploy_key
|
||||
script:
|
||||
- TAG="latest"
|
||||
- PORT="4100"
|
||||
- CONTAINER_NAME="$CI_PROJECT_NAME-production"
|
||||
- *deploy_script
|
||||
|
||||
sync_branches:
|
||||
stage: sync
|
||||
image: node:20
|
||||
rules:
|
||||
- if: '$CI_COMMIT_BRANCH == "production"'
|
||||
before_script:
|
||||
|
||||
Reference in New Issue
Block a user