Loading templates/gitlab-ci-openshift.yml +22 −33 Original line number Diff line number Diff line Loading @@ -368,15 +368,15 @@ stages: fi } function deploy() { function os_deploy() { # export project as it may be usefull to build image name based on internal registry (ex: docker-registry.default.svc:5000/${project}/${DOCKER_IMAGE_NAME}:${DOCKER_IMAGE_LABEL} ) project=$(oc project -q) export project export environment_type=$1 export environment_name=$2 environment_url=$3 export environment_type=$ENV_TYPE export environment_name=${ENV_APP_NAME:-${OS_BASE_APP_NAME}${ENV_APP_SUFFIX}} environment_url=${ENV_URL:-${OS_ENVIRONMENT_URL:-$ENV_URL_LEGACY}} # also export environment_name in SCREAMING_SNAKE_CASE format (may be useful with OpenShift env variables) environment_name_ssc=$(to_ssc "$2") environment_name_ssc=$(to_ssc "$environment_name") export environment_name_ssc # backward compatibility Loading Loading @@ -503,11 +503,11 @@ stages: esac } function delete() { export environment_type=$1 export environment_name=$2 function os_delete() { export environment_type=$ENV_TYPE export environment_name=${ENV_APP_NAME:-${OS_BASE_APP_NAME}${ENV_APP_SUFFIX}} # also export environment_name in SCREAMING_SNAKE_CASE format (may be useful with OpenShift env variables) environment_name_ssc=$(to_ssc "$2") environment_name_ssc=$(to_ssc "$environment_name") export environment_name_ssc # backward compatibility Loading Loading @@ -623,6 +623,10 @@ stages: before_script: - *os-scripts - install_ca_certs "${CUSTOM_CA_CERTS:-$DEFAULT_CA_CERTS}" - assert_defined "${ENV_API_URL:-$OS_URL}" 'Missing required OpenShift url' - assert_defined "${ENV_TOKEN:-$OS_TOKEN}" 'Missing required OpenShift token' - assert_defined "$ENV_PROJECT" 'Missing required OpenShift project' - oc login "${ENV_API_URL:-$OS_URL}" --token="${ENV_TOKEN:-$OS_TOKEN}" -n "$ENV_PROJECT" # Deploy job prototype # Can be extended to define a concrete environment Loading @@ -639,15 +643,8 @@ stages: stage: deploy variables: ENV_APP_SUFFIX: "-$CI_ENVIRONMENT_SLUG" before_script: - *os-scripts - install_ca_certs "${CUSTOM_CA_CERTS:-$DEFAULT_CA_CERTS}" - assert_defined "${ENV_API_URL:-$OS_URL}" 'Missing required OpenShift url' - assert_defined "${ENV_TOKEN:-$OS_TOKEN}" 'Missing required OpenShift token' - assert_defined "$ENV_PROJECT" 'Missing required OpenShift project' - oc login ${ENV_API_URL:-$OS_URL} --token=${ENV_TOKEN:-$OS_TOKEN} -n $ENV_PROJECT script: - deploy "$ENV_TYPE" "${ENV_APP_NAME:-${OS_BASE_APP_NAME}${ENV_APP_SUFFIX}}" "${ENV_URL:-${OS_ENVIRONMENT_URL:-$ENV_URL_LEGACY}}" - os_deploy artifacts: name: "$ENV_TYPE env url for $CI_PROJECT_NAME on $CI_COMMIT_REF_SLUG" paths: Loading @@ -673,19 +670,11 @@ stages: dependencies: [] variables: ENV_APP_SUFFIX: "-$CI_ENVIRONMENT_SLUG" before_script: - *os-scripts - install_ca_certs "${CUSTOM_CA_CERTS:-$DEFAULT_CA_CERTS}" - assert_defined "${ENV_API_URL:-$OS_URL}" 'Missing required OpenShift url' - assert_defined "${ENV_TOKEN:-$OS_TOKEN}" 'Missing required OpenShift token' - assert_defined "$ENV_PROJECT" 'Missing required OpenShift project' - oc login ${ENV_API_URL:-$OS_URL} --token=${ENV_TOKEN:-$OS_TOKEN} -n $ENV_PROJECT script: - delete "$ENV_TYPE" "${ENV_APP_NAME:-${OS_BASE_APP_NAME}${ENV_APP_SUFFIX}}" - os_delete environment: action: stop # deploy to review env (only for branches) # disabled by default, enable this job by setting # $OS_REVIEW_PROJECT. Loading Loading @@ -741,14 +730,14 @@ os-cleanup-review: # stop all review envs (manual job on master branch) os-cleanup-all-review: extends: .os-base variables: ENV_TYPE: review ENV_APP_NAME: "$OS_REVIEW_APP_NAME" ENV_API_URL: "$OS_REVIEW_URL" ENV_TOKEN: "$OS_REVIEW_TOKEN" ENV_PROJECT: "$OS_REVIEW_PROJECT" stage: deploy dependencies: [] before_script: - *os-scripts - install_ca_certs "${CUSTOM_CA_CERTS:-$DEFAULT_CA_CERTS}" - assert_defined "${OS_REVIEW_URL:-$OS_URL}" 'Missing required env $OS_REVIEW_URL or $OS_URL' - assert_defined "${OS_REVIEW_TOKEN:-$OS_TOKEN}" 'Missing required env $OS_REVIEW_TOKEN or $OS_TOKEN' - oc login ${OS_REVIEW_URL:-$OS_URL} --token=${OS_REVIEW_TOKEN:-$OS_TOKEN} -n $OS_REVIEW_PROJECT script: - delete_all review "${OS_REVIEW_APP_NAME:-${OS_BASE_APP_NAME}-review-.*}" rules: Loading Loading
templates/gitlab-ci-openshift.yml +22 −33 Original line number Diff line number Diff line Loading @@ -368,15 +368,15 @@ stages: fi } function deploy() { function os_deploy() { # export project as it may be usefull to build image name based on internal registry (ex: docker-registry.default.svc:5000/${project}/${DOCKER_IMAGE_NAME}:${DOCKER_IMAGE_LABEL} ) project=$(oc project -q) export project export environment_type=$1 export environment_name=$2 environment_url=$3 export environment_type=$ENV_TYPE export environment_name=${ENV_APP_NAME:-${OS_BASE_APP_NAME}${ENV_APP_SUFFIX}} environment_url=${ENV_URL:-${OS_ENVIRONMENT_URL:-$ENV_URL_LEGACY}} # also export environment_name in SCREAMING_SNAKE_CASE format (may be useful with OpenShift env variables) environment_name_ssc=$(to_ssc "$2") environment_name_ssc=$(to_ssc "$environment_name") export environment_name_ssc # backward compatibility Loading Loading @@ -503,11 +503,11 @@ stages: esac } function delete() { export environment_type=$1 export environment_name=$2 function os_delete() { export environment_type=$ENV_TYPE export environment_name=${ENV_APP_NAME:-${OS_BASE_APP_NAME}${ENV_APP_SUFFIX}} # also export environment_name in SCREAMING_SNAKE_CASE format (may be useful with OpenShift env variables) environment_name_ssc=$(to_ssc "$2") environment_name_ssc=$(to_ssc "$environment_name") export environment_name_ssc # backward compatibility Loading Loading @@ -623,6 +623,10 @@ stages: before_script: - *os-scripts - install_ca_certs "${CUSTOM_CA_CERTS:-$DEFAULT_CA_CERTS}" - assert_defined "${ENV_API_URL:-$OS_URL}" 'Missing required OpenShift url' - assert_defined "${ENV_TOKEN:-$OS_TOKEN}" 'Missing required OpenShift token' - assert_defined "$ENV_PROJECT" 'Missing required OpenShift project' - oc login "${ENV_API_URL:-$OS_URL}" --token="${ENV_TOKEN:-$OS_TOKEN}" -n "$ENV_PROJECT" # Deploy job prototype # Can be extended to define a concrete environment Loading @@ -639,15 +643,8 @@ stages: stage: deploy variables: ENV_APP_SUFFIX: "-$CI_ENVIRONMENT_SLUG" before_script: - *os-scripts - install_ca_certs "${CUSTOM_CA_CERTS:-$DEFAULT_CA_CERTS}" - assert_defined "${ENV_API_URL:-$OS_URL}" 'Missing required OpenShift url' - assert_defined "${ENV_TOKEN:-$OS_TOKEN}" 'Missing required OpenShift token' - assert_defined "$ENV_PROJECT" 'Missing required OpenShift project' - oc login ${ENV_API_URL:-$OS_URL} --token=${ENV_TOKEN:-$OS_TOKEN} -n $ENV_PROJECT script: - deploy "$ENV_TYPE" "${ENV_APP_NAME:-${OS_BASE_APP_NAME}${ENV_APP_SUFFIX}}" "${ENV_URL:-${OS_ENVIRONMENT_URL:-$ENV_URL_LEGACY}}" - os_deploy artifacts: name: "$ENV_TYPE env url for $CI_PROJECT_NAME on $CI_COMMIT_REF_SLUG" paths: Loading @@ -673,19 +670,11 @@ stages: dependencies: [] variables: ENV_APP_SUFFIX: "-$CI_ENVIRONMENT_SLUG" before_script: - *os-scripts - install_ca_certs "${CUSTOM_CA_CERTS:-$DEFAULT_CA_CERTS}" - assert_defined "${ENV_API_URL:-$OS_URL}" 'Missing required OpenShift url' - assert_defined "${ENV_TOKEN:-$OS_TOKEN}" 'Missing required OpenShift token' - assert_defined "$ENV_PROJECT" 'Missing required OpenShift project' - oc login ${ENV_API_URL:-$OS_URL} --token=${ENV_TOKEN:-$OS_TOKEN} -n $ENV_PROJECT script: - delete "$ENV_TYPE" "${ENV_APP_NAME:-${OS_BASE_APP_NAME}${ENV_APP_SUFFIX}}" - os_delete environment: action: stop # deploy to review env (only for branches) # disabled by default, enable this job by setting # $OS_REVIEW_PROJECT. Loading Loading @@ -741,14 +730,14 @@ os-cleanup-review: # stop all review envs (manual job on master branch) os-cleanup-all-review: extends: .os-base variables: ENV_TYPE: review ENV_APP_NAME: "$OS_REVIEW_APP_NAME" ENV_API_URL: "$OS_REVIEW_URL" ENV_TOKEN: "$OS_REVIEW_TOKEN" ENV_PROJECT: "$OS_REVIEW_PROJECT" stage: deploy dependencies: [] before_script: - *os-scripts - install_ca_certs "${CUSTOM_CA_CERTS:-$DEFAULT_CA_CERTS}" - assert_defined "${OS_REVIEW_URL:-$OS_URL}" 'Missing required env $OS_REVIEW_URL or $OS_URL' - assert_defined "${OS_REVIEW_TOKEN:-$OS_TOKEN}" 'Missing required env $OS_REVIEW_TOKEN or $OS_TOKEN' - oc login ${OS_REVIEW_URL:-$OS_URL} --token=${OS_REVIEW_TOKEN:-$OS_TOKEN} -n $OS_REVIEW_PROJECT script: - delete_all review "${OS_REVIEW_APP_NAME:-${OS_BASE_APP_NAME}-review-.*}" rules: Loading