Files
platform/.gitlab-ci.yml
2024-06-23 23:04:49 +03:00

58 lines
3.1 KiB
YAML

stages:
- build
- deploy
job-stage-build:
#image: docker:20.10.16
tags:
- mvn-shell
rules:
- if: ('$CI_COMMIT_TAG == null' && $CI_COMMIT_BRANCH != 'main' )
stage: build
script:
- echo $CI_REGISTRY_PASSWORD | docker login image.git.softline.digital:1060 -u $CI_REGISTRY_USER --password-stdin
- rm -rf ~/.m2/repository
- rm -rf ~/.gradle/caches/
- for i in $(docker images --filter=reference='image.git.softline.digital:1060/fundamento-platform/fundamento/tb-*' --format "{{.Repository}}:{{.Tag}}"); do docker rmi "$i"; done
#- mvn -T 0.8C license:format clean install -DskipTests -Dmaven.test.skip -Ddockerfile.skip=false
- mvn clean install -DskipTests -Dmaven.test.skip -Ddockerfile.skip=false
- for i in $(docker images --filter=reference='image.git.softline.digital:1060/fundamento-platform/fundamento/tb-*:latest' --format "{{.Repository}}"); do docker tag "$i":latest "$i":test; done
- for i in $(docker images --filter=reference='image.git.softline.digital:1060/fundamento-platform/fundamento/tb-*:test' --format "{{.Repository}}:{{.Tag}}"); do docker push "$i"; done
job-relise-build:
# image: docker:20.10.16
tags:
- mvn-shell
rules:
- if: ('$CI_COMMIT_TAG != null' && $CI_COMMIT_BRANCH == 'main')
stage: build
script:
- echo $CI_REGISTRY_PASSWORD | docker login image.git.softline.digital:1060 -u $CI_REGISTRY_USER --password-stdin
- rm -rf ~/.m2/repository
- rm -rf ~/.gradle/caches/
- for i in $(docker images --filter=reference='image.git.softline.digital:1060/fundamento-platform/fundamento/tb-*' --format "{{.Repository}}:{{.Tag}}"); do docker rmi "$i"; done
- mvn clean install -DskipTests -Dmaven.test.skip -Ddockerfile.skip=false
- for i in $(docker images --filter=reference='image.git.softline.digital:1060/fundamento-platform/fundamento/tb-*' --format "{{.Repository}}:{{.Tag}}"); do docker push "$i"; done
job-stage-deploy:
image: docker:20.10.16
stage: deploy
tags:
- java
rules:
# - if: ('$CI_COMMIT_TAG == null' && $CI_PIPELINE_SOURCE == "merge_request_event" && $CI_COMMIT_BRANCH != 'main')
- if: ('$CI_COMMIT_TAG == null' && $CI_COMMIT_BRANCH != 'main')
before_script:
- mkdir -p /.ssh
- echo "$SSH_TEST_PRIVATE_KEY" >> /.ssh/id_rsa
- chmod 600 /.ssh/id_rsa
script:
- cat /.ssh/id_rsa
- ssh -i /.ssh/id_rsa -p $SSH_TEST_PORT -o StrictHostKeyChecking=no $SSH_TEST_USER@$SSH_TEST_HOST 'for i in $(docker image ls); do docker rmi "$i" 2>/dev/null; done || true'
- ssh -i /.ssh/id_rsa -p $SSH_TEST_PORT -o StrictHostKeyChecking=no $SSH_TEST_USER@$SSH_TEST_HOST "cd /home/gitlab/service && docker compose down"
- ssh -i /.ssh/id_rsa -p $SSH_TEST_PORT -o StrictHostKeyChecking=no $SSH_TEST_USER@$SSH_TEST_HOST "docker login image.git.softline.digital:1060 -u $CI_REGISTRY_USER -p $CI_REGISTRY_TOKEN && docker pull image.git.softline.digital:1060/fundamento-platform/fundamento/tb-cassandra:test"
- ssh -i /.ssh/id_rsa -p $SSH_TEST_PORT -o StrictHostKeyChecking=no $SSH_TEST_USER@$SSH_TEST_HOST "cd /home/gitlab/service && docker compose up -d"
when: manual