You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
49 lines
2.3 KiB
49 lines
2.3 KiB
# This file is a template, and might need editing before it works on your project.
|
|
# Official docker image.
|
|
image: docker:latest
|
|
services:
|
|
- docker:dind
|
|
variables:
|
|
CHANNEL: "skillbox"
|
|
SERVER_URL: "lms.test.spicycms.com"
|
|
DOMAIN: "$CI_BUILD_REF_SLUG.$SERVER_URL"
|
|
SLACK_MSG: "Check new website <https://$DOMAIN>"
|
|
SLACK_URL: "https://hooks.slack.com/services/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"
|
|
SLACK_URL_BRAMA: "https://hooks.slack.com/services/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"
|
|
types:
|
|
- build
|
|
- test
|
|
build_app:
|
|
type: build
|
|
script:
|
|
- docker login -u "gitlab-ci-token" -p "$CI_BUILD_TOKEN" $CI_REGISTRY
|
|
- docker build --no-cache --rm --pull -t "$CI_REGISTRY_IMAGE:$CI_BUILD_REF_SLUG" --build-arg SSH_PRIVATE_KEY="$SSH_PRIVATE_KEY" --build-arg SPICYCODE_LOGIN="$SPICYCODE_LOGIN" --build-arg SPICYCODE_PASS="$SPICYCODE_PASS" .
|
|
#- docker run --rm --add-host dockerhost:`/sbin/ip route|awk '/default/ { print $3}'` "$CI_REGISTRY_IMAGE:$CI_BUILD_REF_SLUG" python manage.py test
|
|
- docker push "$CI_REGISTRY_IMAGE:$CI_BUILD_REF_SLUG"
|
|
test_app:
|
|
type: test
|
|
script:
|
|
#- docker login -u "gitlab-ci-token" -p "$CI_BUILD_TOKEN" $CI_REGISTRY
|
|
#- docker pull "$CI_REGISTRY_IMAGE:$CI_BUILD_REF_SLUG"
|
|
- if [[ $(docker ps -a) == *$DOMAIN* ]] ; then docker stop $DOMAIN ; fi
|
|
- if [[ $(docker ps -a) == *$DOMAIN* ]] ; then docker rm $DOMAIN; fi
|
|
- "SLACK_PAYLOAD='payload={\"channel\":\"#'${CHANNEL}'\",\"username\":\"'${SERVER_URL}'\",\"text\":\"'${SLACK_MSG}'\",\"icon_emoji\":\":ghost:\"}'"
|
|
- docker run -d
|
|
--expose=80
|
|
--env VIRTUAL_HOST=$DOMAIN
|
|
--name $DOMAIN
|
|
--env HTTPS_METHOD=noredirect
|
|
--env DB_NAME=$DB_NAME
|
|
--env PG_PORT_5432_TCP_ADDR=$DB_HOST
|
|
--env PG_PORT_5432_TCP_PORT=$DB_PORT
|
|
--env PG_ENV_POSTGRES_USER=$DB_TEST_USER
|
|
--env PG_ENV_POSTGRES_PASSWORD=$DB_TEST_PASS
|
|
"$CI_REGISTRY_IMAGE:$CI_BUILD_REF_SLUG"
|
|
- curl -I $DOMAIN 2>/dev/null | head -n 1 | cut -d$' ' -f2
|
|
- SLACK_MSG="REVIEW app is started on https://$DOMAIN/"
|
|
- SLACK_PAYLOAD="payload={\"text\":\"$SLACK_MSG\",\"username\":\"gitlab-ci\"}"
|
|
- curl -X POST -d "$SLACK_PAYLOAD" $SLACK_URL
|
|
- curl -X POST -d "$SLACK_PAYLOAD" $SLACK_URL_BRAMA
|
|
dependencies:
|
|
- build_app
|
|
|
|
|