Skip to content
Snippets Groups Projects
Commit 0525ab6b authored by michael.minelli's avatar michael.minelli
Browse files

CI/CD => Add test release

parent 6c4a6386
No related branches found
No related tags found
No related merge requests found
Pipeline #26986 passed
...@@ -6,9 +6,14 @@ variables: ...@@ -6,9 +6,14 @@ variables:
DOCKER_TLS_CERTDIR: DOCKER_TLS_CERTDIR:
DOCKER_DRIVER: overlay2 DOCKER_DRIVER: overlay2
DOCKER_REGISTRY: docker.io
DOCKER_REGISTRY_USER: dojohesso
DOCKER_REGISTRY_IMAGE: dojohesso/dojo_assignment_checker
PROJECT_NAME: DojoAssignmentChecker PROJECT_NAME: DojoAssignmentChecker
VERSION_DEV_SUFFIX: '-dev' VERSION_DEV_SUFFIX: '-dev'
VERSION_TEST_SUFFIX: '-test'
GITLAB_API_PROJECT_URL: ${CI_API_V4_URL}/projects/${CI_PROJECT_ID} GITLAB_API_PROJECT_URL: ${CI_API_V4_URL}/projects/${CI_PROJECT_ID}
......
.get_vars:
script:
- IS_DEV=$([[ $CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH && $CI_COMMIT_BRANCH != "test" ]] && echo true || echo false)
- IS_TEST=$([[ $CI_COMMIT_BRANCH == "test" ]] && echo true || echo false)
- |
if [[ $IS_TEST == true ]]; then
DOCKER_REGISTRY_USER="dojohessotest"
DOCKER_REGISTRY_IMAGE="dojohesso/dojo-test_assignment_checker"
DOCKER_REGISTRY_PASSWORD=$DOCKER_TEST_REGISTRY_PASSWORD
DOTENV_PROD_KEY=$DOTENV_TEST_KEY
fi
.get_version: .get_version:
script: script:
- IS_DEV=$([[ $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH ]] && echo false || echo true) - VERSION=$(jq -r .version $PROJECT_FOLDER/package.json)$([[ $IS_TEST == true ]] && echo $VERSION_TEST_SUFFIX || echo '' )$([[ $IS_DEV == true ]] && echo $VERSION_DEV_SUFFIX || echo '')
- VERSION=$(jq -r .version $PROJECT_FOLDER/package.json)$([[ $IS_DEV == true ]] && echo $VERSION_DEV_SUFFIX || echo '')
.get_packages_url: .get_packages_url:
...@@ -21,7 +33,7 @@ ...@@ -21,7 +33,7 @@
# Init docker buildx # Init docker buildx
- | - |
if [ $CI_COMMIT_REF_PROTECTED == "true" ]; then if [[ $CI_COMMIT_REF_PROTECTED == "true" || $IS_TEST == true ]]; then
docker login -u $DOCKER_REGISTRY_USER -p $DOCKER_REGISTRY_PASSWORD $DOCKER_REGISTRY docker login -u $DOCKER_REGISTRY_USER -p $DOCKER_REGISTRY_PASSWORD $DOCKER_REGISTRY
fi fi
- docker buildx create --use - docker buildx create --use
...@@ -41,12 +53,11 @@ ...@@ -41,12 +53,11 @@
- cd $PROJECT_FOLDER - cd $PROJECT_FOLDER
- sed -i -r "s/\{\{VERSION\}\}/${VERSION}/g" src/app.ts - sed -i -r "s/\{\{VERSION\}\}/${VERSION}/g" src/app.ts
- | - |
if [ $CI_COMMIT_REF_PROTECTED == "true" ]; then if [[ $CI_COMMIT_REF_PROTECTED == "true" || $IS_TEST == true ]]; then
echo "Decrypt production env vars" echo "Decrypt production env vars"
sed -i -r "s/(DOTENV_KEY[ ]*:[ ]*[\'\"\`])[^'\"\`]*([\'\"\`])([ ]*\,)?//g" src/app.ts sed -i -r "s/(DOTENV_KEY[ ]*:[ ]*[\'\"\`])[^'\"\`]*([\'\"\`])([ ]*\,)?//g" src/app.ts
sed -i -r "s/,[\ \n]*\}/\}/g" src/app.ts sed -i -r "s/,[\ \n]*\}/\}/g" src/app.ts
npx dotenv-vault local decrypt "${DOTENV_PROD_KEY}" > .env npx dotenv-vault local decrypt "${DOTENV_PROD_KEY}" > .env
fi fi
- cd .. - cd ..
......
...@@ -5,3 +5,6 @@ stages: ...@@ -5,3 +5,6 @@ stages:
- clean - clean
- upload - upload
- release - release
before_script:
- !reference [ .get_vars, script ]
\ No newline at end of file
...@@ -9,4 +9,4 @@ test:build: ...@@ -9,4 +9,4 @@ test:build:
script: script:
- !reference [ .build_script, script ] - !reference [ .build_script, script ]
rules: rules:
- if: '$CI_COMMIT_TAG =~ "/^$/" && $CI_COMMIT_REF_PROTECTED != "true"' - if: '$CI_COMMIT_TAG =~ "/^$/" && $CI_COMMIT_REF_PROTECTED != "true" && $CI_COMMIT_BRANCH != "test"'
\ No newline at end of file \ No newline at end of file
...@@ -12,4 +12,4 @@ build:version: ...@@ -12,4 +12,4 @@ build:version:
# Here docker buildx can use cached images created in previous step # Here docker buildx can use cached images created in previous step
- docker buildx build --platform $DOCKER_PLATFORMS --file $DOCKERFILE --push --tag $CONTAINER_IMAGE . - docker buildx build --platform $DOCKER_PLATFORMS --file $DOCKERFILE --push --tag $CONTAINER_IMAGE .
rules: rules:
- if: '$CI_COMMIT_REF_PROTECTED == "true"' - if: '$CI_COMMIT_REF_PROTECTED == "true" || $CI_COMMIT_BRANCH == "test"'
\ No newline at end of file \ No newline at end of file
...@@ -12,7 +12,7 @@ release:dockerhub:latest: ...@@ -12,7 +12,7 @@ release:dockerhub:latest:
# Push latest tag # Push latest tag
- docker buildx imagetools create $CONTAINER_IMAGE --tag $DOCKER_REGISTRY_IMAGE:latest - docker buildx imagetools create $CONTAINER_IMAGE --tag $DOCKER_REGISTRY_IMAGE:latest
rules: rules:
- if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH' - if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH || $CI_COMMIT_BRANCH == "test"'
release:wiki: release:wiki:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment