Use ci template

This commit is contained in:
Thor77 2022-06-08 19:12:32 +02:00
parent 96abf0536a
commit a9b43a5293
No known key found for this signature in database
GPG Key ID: 5051E71B46AA669A
1 changed files with 10 additions and 58 deletions

View File

@ -3,69 +3,21 @@ stages:
- test
- deploy
kaniko:
stage: build
image:
name: gcr.io/kaniko-project/executor:debug
entrypoint: [""]
script:
- mkdir -p /kaniko/.docker
- echo "{\"auths\":{\"${CI_REGISTRY}\":{\"auth\":\"$(printf "%s:%s" "${CI_REGISTRY_USER}" "${CI_REGISTRY_PASSWORD}" | base64 | tr -d '\n')\"}}}" > /kaniko/.docker/config.json
- |
for env in production development test; do
/kaniko/executor --context "${CI_PROJECT_DIR}" \
--dockerfile "${CI_PROJECT_DIR}/docker/${env}/Dockerfile" \
--destination "${CI_REGISTRY_IMAGE}/${env}:latest" \
--destination "${CI_REGISTRY_IMAGE}/${env}/commits:${CI_COMMIT_SHA}" \
--destination "${CI_REGISTRY_IMAGE}/${env}/refs:${CI_COMMIT_REF_SLUG}" \
--build-arg base_commit="$CI_COMMIT_SHA"
done
include:
- project: 'turniere/turniere-infra'
file: '/ci/pipeline.yaml'
rails spec:
stage: test
image: $CI_REGISTRY_IMAGE/test/commits:$CI_COMMIT_SHA
only:
changes:
- '**/*.rb'
- 'Gemfile'
- 'Gemfile.lock'
except:
variables:
- $SKIP_TEST
rules:
- changes:
- '**/*.rb'
- 'Gemfile'
- 'Gemfile.lock'
- if: $SKIP_TEST
when: never
script:
- cd /app
- bundle exec rails db:migrate
- bundle exec rails spec
kubernetes:
tags:
- turniere-deploy
stage: deploy
only:
refs:
- master
variables:
- $FORCE_DEPLOY
image: ruby
variables:
KUBERNETES_SERVICE_ACCOUNT_OVERWRITE: gitlab-deploy
script:
- setup-kubectl
- krane render -f kubernetes --current-sha "$CI_COMMIT_SHA" | krane deploy turniere-backend-dev local -f kubernetes/secrets.ejson -
deploy_watchtower:
stage: deploy
only:
refs:
- master
variables:
- $FORCE_DEPLOY
image: docker
services:
- docker:dind
script:
- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
- docker pull $CI_REGISTRY_IMAGE/production/commits:$CI_COMMIT_SHA
- docker tag $CI_REGISTRY_IMAGE/production/commits:$CI_COMMIT_SHA $CI_REGISTRY_IMAGE/production:deploy
- docker push $CI_REGISTRY_IMAGE/production:deploy