initial
This commit is contained in:
89
.gitlab-ci.d/app-client-docker.yml
Normal file
89
.gitlab-ci.d/app-client-docker.yml
Normal file
@@ -0,0 +1,89 @@
|
||||
build-app-client-docker:
|
||||
stage: build
|
||||
needs: []
|
||||
rules:
|
||||
- if: $CI_PIPELINE_SOURCE == 'merge_request_event'
|
||||
image:
|
||||
name: gcr.io/kaniko-project/executor:v1.15.0-debug
|
||||
entrypoint: [""]
|
||||
script:
|
||||
- >-
|
||||
/kaniko/executor
|
||||
--context "${CI_PROJECT_DIR}"
|
||||
--dockerfile "${CI_PROJECT_DIR}/Dockerfile.client"
|
||||
--target runner-nodejs
|
||||
--skip-unused-stages=true
|
||||
--cache=true
|
||||
--cache-repo "${CI_REGISTRY_IMAGE}/frontend-app-client/cache"
|
||||
--no-push
|
||||
|
||||
build-app-client-docker-latest:
|
||||
stage: build
|
||||
needs: []
|
||||
rules:
|
||||
- if: $CI_COMMIT_BRANCH == "main" || $CI_COMMIT_BRANCH == "ci/pay"
|
||||
changes:
|
||||
- apps/client/**/*
|
||||
- layers/ui/**/*
|
||||
- layers/shared/**/*
|
||||
- if: $CI_COMMIT_BRANCH == "main" || $CI_COMMIT_BRANCH == "ci/pay"
|
||||
when: manual
|
||||
image:
|
||||
name: gcr.io/kaniko-project/executor:v1.15.0-debug
|
||||
entrypoint: [""]
|
||||
script:
|
||||
- >-
|
||||
/kaniko/executor
|
||||
--context "${CI_PROJECT_DIR}"
|
||||
--dockerfile "${CI_PROJECT_DIR}/Dockerfile.client"
|
||||
--target runner-nodejs
|
||||
--skip-unused-stages=true
|
||||
--cache=true
|
||||
--cache-repo "${CI_REGISTRY_IMAGE}/frontend-app-client/cache"
|
||||
--destination "${CI_REGISTRY_IMAGE}/frontend-app-client:latest"
|
||||
--image-name-with-digest-file "${CI_PROJECT_DIR}/.images/frontend-app-client.txt"
|
||||
artifacts:
|
||||
paths:
|
||||
- .images/frontend-app-client.txt
|
||||
|
||||
deploy-app-client-docker:
|
||||
image: alpine:latest
|
||||
stage: deploy
|
||||
rules:
|
||||
- if: $CI_COMMIT_BRANCH == "main" || $CI_COMMIT_BRANCH == "ci/pay"
|
||||
needs:
|
||||
- job: build-app-client-docker-latest
|
||||
artifacts: true
|
||||
timeout: 3m
|
||||
variables:
|
||||
DOCKER_RUN_COMMAND:
|
||||
expand: true
|
||||
value: >-
|
||||
docker run
|
||||
--name frontend-app
|
||||
--detach
|
||||
--restart unless-stopped
|
||||
--network frontend
|
||||
-e NITRO_SHUTDOWN=true
|
||||
-e NICONSOLE_LEVEL=4
|
||||
-e CONSOLA_LEVEL=4
|
||||
-e NITRO_API_HOST=https://api.prgms.io/api/v1
|
||||
"$(cat frontend-app-client.txt)"
|
||||
before_script:
|
||||
- apk add openssh-client
|
||||
- eval $(ssh-agent -s)
|
||||
- chmod 400 "$ID_RSA"
|
||||
- ssh-add "$ID_RSA"
|
||||
- mkdir -p ~/.ssh
|
||||
- chmod 700 ~/.ssh
|
||||
- cp "$SSH_KNOWN_HOSTS" ~/.ssh/known_hosts
|
||||
script:
|
||||
- test -f .images/frontend-app-client.txt
|
||||
- scp .images/frontend-app-client.txt ${SERVER_USER}@${SERVER_IP}:frontend-app-client.txt
|
||||
- >-
|
||||
ssh
|
||||
"$SERVER_USER@$SERVER_IP"
|
||||
"docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY"
|
||||
- ssh "${SERVER_USER}@${SERVER_IP}" "docker stop frontend-app || true"
|
||||
- ssh "${SERVER_USER}@${SERVER_IP}" "docker rm frontend-app || true"
|
||||
- ssh "${SERVER_USER}@${SERVER_IP}" "${DOCKER_RUN_COMMAND}"
|
||||
Reference in New Issue
Block a user