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:
DOCKER_TLS_CERTDIR:
DOCKER_DRIVER: overlay2
DOCKER_REGISTRY: docker.io
DOCKER_REGISTRY_USER: dojohesso
DOCKER_REGISTRY_IMAGE: dojohesso/dojo_assignment_checker
PROJECT_NAME: DojoAssignmentChecker
VERSION_DEV_SUFFIX: '-dev'
VERSION_TEST_SUFFIX: '-test'
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:
script:
- IS_DEV=$([[ $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH ]] && echo false || echo true)
- VERSION=$(jq -r .version $PROJECT_FOLDER/package.json)$([[ $IS_DEV == true ]] && echo $VERSION_DEV_SUFFIX || echo '')
- VERSION=$(jq -r .version $PROJECT_FOLDER/package.json)$([[ $IS_TEST == true ]] && echo $VERSION_TEST_SUFFIX || echo '' )$([[ $IS_DEV == true ]] && echo $VERSION_DEV_SUFFIX || echo '')
.get_packages_url:
......@@ -21,7 +33,7 @@
# 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
fi
- docker buildx create --use
......@@ -41,12 +53,11 @@
- cd $PROJECT_FOLDER
- 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"
sed -i -r "s/(DOTENV_KEY[ ]*:[ ]*[\'\"\`])[^'\"\`]*([\'\"\`])([ ]*\,)?//g" src/app.ts
sed -i -r "s/,[\ \n]*\}/\}/g" src/app.ts
npx dotenv-vault local decrypt "${DOTENV_PROD_KEY}" > .env
fi
- cd ..
......
......@@ -4,4 +4,7 @@ stages:
- build
- clean
- upload
- release
\ No newline at end of file
- release
before_script:
- !reference [ .get_vars, script ]
\ No newline at end of file
......@@ -9,4 +9,4 @@ test:build:
script:
- !reference [ .build_script, script ]
rules:
- if: '$CI_COMMIT_TAG =~ "/^$/" && $CI_COMMIT_REF_PROTECTED != "true"'
\ No newline at end of file
- if: '$CI_COMMIT_TAG =~ "/^$/" && $CI_COMMIT_REF_PROTECTED != "true" && $CI_COMMIT_BRANCH != "test"'
\ No newline at end of file
......@@ -12,4 +12,4 @@ build:version:
# Here docker buildx can use cached images created in previous step
- docker buildx build --platform $DOCKER_PLATFORMS --file $DOCKERFILE --push --tag $CONTAINER_IMAGE .
rules:
- if: '$CI_COMMIT_REF_PROTECTED == "true"'
\ No newline at end of file
- if: '$CI_COMMIT_REF_PROTECTED == "true" || $CI_COMMIT_BRANCH == "test"'
\ No newline at end of file
......@@ -12,7 +12,7 @@ release:dockerhub:latest:
# Push latest tag
- docker buildx imagetools create $CONTAINER_IMAGE --tag $DOCKER_REGISTRY_IMAGE:latest
rules:
- if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
- if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH || $CI_COMMIT_BRANCH == "test"'
release:wiki:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment