mirror of
https://gitlab.com/psuapp/psu.git
synced 2024-08-30 18:12:34 +00:00
Fix scheduled pipeline who update Docker images for the latest stable git tag
Escape $CI_COMMIT_SHA variable in the GitLab CI configuration and tests. And evaluates its value at runtime. See: https://docs.gitlab.com/12.7/ee/ci/variables/README.html#gitlab-ciyml-defined-variables
This commit is contained in:
@ -6,8 +6,8 @@ variables:
|
|||||||
TRAEFIK_VERSION: "2.1"
|
TRAEFIK_VERSION: "2.1"
|
||||||
PORTAINER_VERSION: latest
|
PORTAINER_VERSION: latest
|
||||||
PSU_IMAGE: ${CI_REGISTRY_IMAGE}/builds
|
PSU_IMAGE: ${CI_REGISTRY_IMAGE}/builds
|
||||||
PSU_TAG: $CI_COMMIT_SHA
|
PSU_TAG: $$CI_COMMIT_SHA
|
||||||
PSU_TAG_CORE: core-${CI_COMMIT_SHA}
|
PSU_TAG_CORE: core-$$CI_COMMIT_SHA
|
||||||
DOCKER_REGISTRY_IMAGE: $DOCKER_REGISTRY/$CI_PROJECT_PATH
|
DOCKER_REGISTRY_IMAGE: $DOCKER_REGISTRY/$CI_PROJECT_PATH
|
||||||
|
|
||||||
stages:
|
stages:
|
||||||
@ -29,9 +29,16 @@ stages:
|
|||||||
- setup_docker
|
- setup_docker
|
||||||
- registry_login
|
- registry_login
|
||||||
- cd ${CONTAINER_FOLDER:-.}
|
- cd ${CONTAINER_FOLDER:-.}
|
||||||
|
- |
|
||||||
|
CONTAINER_COMMIT_SHA=$(if [ -n "$CONTAINER_COMMIT_SHA" ]; then
|
||||||
|
eval echo "$CONTAINER_COMMIT_SHA";
|
||||||
|
else
|
||||||
|
echo "$CI_COMMIT_SHA";
|
||||||
|
fi)
|
||||||
|
export CONTAINER_COMMIT_SHA
|
||||||
- docker pull $CONTAINER_IMAGE:${CONTAINER_VERSION:-latest} || true
|
- docker pull $CONTAINER_IMAGE:${CONTAINER_VERSION:-latest} || true
|
||||||
- docker build --pull $(if [[ -n "$DOCKER_CACHE_DISABLED" ]]; then echo "--no-cache "; else echo "--cache-from $CONTAINER_IMAGE:${CONTAINER_VERSION:-latest}"; fi) --file ${DOCKER_FILE:-Dockerfile} --tag $CONTAINER_IMAGE:${CONTAINER_COMMIT_SHA:-$CI_COMMIT_SHA} --tag $CONTAINER_IMAGE:${CONTAINER_VERSION:-latest} --build-arg HTTP_PROXY="$HTTP_PROXY" --build-arg http_proxy="$http_proxy" --build-arg HTTPS_PROXY="$HTTPS_PROXY" --build-arg https_proxy="$https_proxy" --build-arg FTP_PROXY="$FTP_PROXY" --build-arg ftp_proxy="$ftp_proxy" --build-arg NO_PROXY="$NO_PROXY" --build-arg no_proxy="$no_proxy" .
|
- docker build --pull $(if [[ -n "$DOCKER_CACHE_DISABLED" ]]; then echo "--no-cache "; else echo "--cache-from $CONTAINER_IMAGE:${CONTAINER_VERSION:-latest}"; fi) --file ${DOCKER_FILE:-Dockerfile} --tag $CONTAINER_IMAGE:$CONTAINER_COMMIT_SHA --tag $CONTAINER_IMAGE:${CONTAINER_VERSION:-latest} --build-arg HTTP_PROXY="$HTTP_PROXY" --build-arg http_proxy="$http_proxy" --build-arg HTTPS_PROXY="$HTTPS_PROXY" --build-arg https_proxy="$https_proxy" --build-arg FTP_PROXY="$FTP_PROXY" --build-arg ftp_proxy="$ftp_proxy" --build-arg NO_PROXY="$NO_PROXY" --build-arg no_proxy="$no_proxy" .
|
||||||
- docker push $CONTAINER_IMAGE:${CONTAINER_COMMIT_SHA:-$CI_COMMIT_SHA}
|
- docker push $CONTAINER_IMAGE:$CONTAINER_COMMIT_SHA
|
||||||
- docker push $CONTAINER_IMAGE:${CONTAINER_VERSION:-latest}
|
- docker push $CONTAINER_IMAGE:${CONTAINER_VERSION:-latest}
|
||||||
|
|
||||||
build:main:
|
build:main:
|
||||||
@ -46,7 +53,7 @@ build:debian:
|
|||||||
variables:
|
variables:
|
||||||
CONTAINER_NAME: $CI_PROJECT_NAME
|
CONTAINER_NAME: $CI_PROJECT_NAME
|
||||||
CONTAINER_VERSION: $CI_COMMIT_REF_SLUG-build-debian
|
CONTAINER_VERSION: $CI_COMMIT_REF_SLUG-build-debian
|
||||||
CONTAINER_COMMIT_SHA: debian-$CI_COMMIT_SHA
|
CONTAINER_COMMIT_SHA: debian-$$CI_COMMIT_SHA
|
||||||
DOCKER_FILE: Dockerfile.debian
|
DOCKER_FILE: Dockerfile.debian
|
||||||
CONTAINER_IMAGE: ${CI_REGISTRY_IMAGE}/builds
|
CONTAINER_IMAGE: ${CI_REGISTRY_IMAGE}/builds
|
||||||
|
|
||||||
@ -55,15 +62,16 @@ build:core:
|
|||||||
variables:
|
variables:
|
||||||
CONTAINER_NAME: $CI_PROJECT_NAME
|
CONTAINER_NAME: $CI_PROJECT_NAME
|
||||||
CONTAINER_VERSION: $CI_COMMIT_REF_SLUG-build-core
|
CONTAINER_VERSION: $CI_COMMIT_REF_SLUG-build-core
|
||||||
CONTAINER_COMMIT_SHA: core-$CI_COMMIT_SHA
|
CONTAINER_COMMIT_SHA: core-$$CI_COMMIT_SHA
|
||||||
DOCKER_FILE: Dockerfile.core
|
DOCKER_FILE: Dockerfile.core
|
||||||
CONTAINER_IMAGE: ${CI_REGISTRY_IMAGE}/builds
|
CONTAINER_IMAGE: ${CI_REGISTRY_IMAGE}/builds
|
||||||
|
|
||||||
build:debian-core:
|
build:debian-core:
|
||||||
<<: *build_definition
|
<<: *build_definition
|
||||||
variables:
|
variables:
|
||||||
CONTAINER_NAME: $CI_PROJECT_NAME
|
CONTAINER_NAME: $CI_PROJECT_NAME
|
||||||
CONTAINER_VERSION: $CI_COMMIT_REF_SLUG-build-debian-core
|
CONTAINER_VERSION: $CI_COMMIT_REF_SLUG-build-debian-core
|
||||||
CONTAINER_COMMIT_SHA: debian-core-$CI_COMMIT_SHA
|
CONTAINER_COMMIT_SHA: debian-core-$$CI_COMMIT_SHA
|
||||||
DOCKER_FILE: Dockerfile.debian-core
|
DOCKER_FILE: Dockerfile.debian-core
|
||||||
CONTAINER_IMAGE: ${CI_REGISTRY_IMAGE}/builds
|
CONTAINER_IMAGE: ${CI_REGISTRY_IMAGE}/builds
|
||||||
|
|
||||||
@ -99,8 +107,8 @@ test:portainer-latest:
|
|||||||
test:portainer-latest:debian:
|
test:portainer-latest:debian:
|
||||||
<<: *test_definition
|
<<: *test_definition
|
||||||
variables:
|
variables:
|
||||||
PSU_TAG: debian-${CI_COMMIT_SHA}
|
PSU_TAG: debian-$$CI_COMMIT_SHA
|
||||||
PSU_TAG_CORE: debian-core-${CI_COMMIT_SHA}
|
PSU_TAG_CORE: debian-core-$$CI_COMMIT_SHA
|
||||||
|
|
||||||
release:
|
release:
|
||||||
stage: deploy
|
stage: deploy
|
||||||
|
18
tests/run.sh
18
tests/run.sh
@ -9,15 +9,29 @@ PSU_URL="https://portainer.$BASE_DOMAIN"
|
|||||||
PSU_USER="admin"
|
PSU_USER="admin"
|
||||||
PSU_PASSWORD="mypassword"
|
PSU_PASSWORD="mypassword"
|
||||||
|
|
||||||
|
PSU_TAG=$(if [ -n "$PSU_TAG" ]; then
|
||||||
|
eval echo "$PSU_TAG";
|
||||||
|
else
|
||||||
|
echo "$CI_COMMIT_SHA";
|
||||||
|
fi)
|
||||||
|
export PSU_TAG
|
||||||
|
|
||||||
|
PSU_TAG_CORE=$(if [ -n "$PSU_TAG_CORE" ]; then
|
||||||
|
eval echo "$PSU_TAG_CORE";
|
||||||
|
else
|
||||||
|
echo "core-$CI_COMMIT_SHA";
|
||||||
|
fi)
|
||||||
|
export PSU_TAG_CORE
|
||||||
|
|
||||||
# Change working directory to 'tests/'
|
# Change working directory to 'tests/'
|
||||||
cd "$(dirname "$0")"
|
cd "$(dirname "$0")"
|
||||||
|
|
||||||
function psu_wrapper() {
|
function psu_wrapper() {
|
||||||
docker run --rm $PSU_IMAGE:${PSU_TAG:-$CI_COMMIT_SHA} "$@"
|
docker run --rm $PSU_IMAGE:$PSU_TAG "$@"
|
||||||
}
|
}
|
||||||
|
|
||||||
function psu_core_wrapper() {
|
function psu_core_wrapper() {
|
||||||
docker run --rm $PSU_IMAGE:${PSU_TAG_CORE:-core-$CI_COMMIT_SHA} "$@"
|
docker run --rm $PSU_IMAGE:$PSU_TAG_CORE "$@"
|
||||||
}
|
}
|
||||||
|
|
||||||
function application_exists() {
|
function application_exists() {
|
||||||
|
Reference in New Issue
Block a user