diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000000000000000000000000000000000000..15295b96ff687cdbd95bf8b57f4a9c070ff2ae3f --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,59 @@ +include: + - project: osl/code/org.etsi.osl.main + ref: main + file: + - ci-templates/default.yml + rules: + - if: '$CI_COMMIT_REF_NAME == "main"' + + - project: osl/code/org.etsi.osl.main + ref: develop + file: + - ci-templates/default.yml + rules: + - if: '$CI_COMMIT_REF_NAME == "develop"' + + - project: osl/code/org.etsi.osl.main + ref: $CI_COMMIT_REF_NAME + file: + - ci-templates/default.yml + rules: + - if: '$CI_COMMIT_REF_PROTECTED == "true" && $CI_COMMIT_REF_NAME != "main" && $CI_COMMIT_REF_NAME != "develop"' + + - project: osl/code/org.etsi.osl.main + ref: develop + file: + - ci-templates/default.yml + rules: + - if: '$CI_COMMIT_REF_NAME != "main" && $CI_COMMIT_REF_NAME != "develop" && $CI_COMMIT_REF_PROTECTED == "false"' + + +docker_build: + extends: .default + stage: build + image: + name: gcr.io/kaniko-project/executor:debug + entrypoint: [""] + script: + - export DOCKER_TAG=$APP_VERSION + - | + if [ "$CI_COMMIT_REF_NAME" = "main" ]; then + echo "Pushing Docker image with tag 'latest'" + export DOCKER_TAG=latest + fi + - /kaniko/executor --context "${CI_PROJECT_DIR}" --dockerfile "${CI_PROJECT_DIR}/QoDProvisioning/QoDProvisioningAPI/API/Dockerfile" --destination "${CI_REGISTRY_IMAGE}.QoDProvisioningAPI:$APP_VERSION" + - /kaniko/executor --context "${CI_PROJECT_DIR}" --dockerfile "${CI_PROJECT_DIR}/QoDProvisioning/QoDProvisioningAPI/Operator/Dockerfile" --destination "${CI_REGISTRY_IMAGE}.QoDProvisioningAPIOperator:$APP_VERSION" + rules: + - if: '$CI_COMMIT_REF_PROTECTED == "true"' + +docker_build_dry_run: + extends: .default + stage: build + image: + name: gcr.io/kaniko-project/executor:debug + entrypoint: [""] + script: + - /kaniko/executor --context "${CI_PROJECT_DIR}" --dockerfile "${CI_PROJECT_DIR}/QoDProvisioning/QoDProvisioningAPI/API/Dockerfile" --destination "${CI_REGISTRY_IMAGE}.QoDProvisioningAPI:$APP_VERSION" --no-push + - /kaniko/executor --context "${CI_PROJECT_DIR}" --dockerfile "${CI_PROJECT_DIR}/QoDProvisioning/QoDProvisioningAPI/Operator/Dockerfile" --destination "${CI_REGISTRY_IMAGE}.QoDProvisioningAPIOperator:$APP_VERSION" --no-push + rules: + - if: '$CI_COMMIT_REF_PROTECTED == "false"'