initial
This commit is contained in:
58
.gitlab-ci.yml
Normal file
58
.gitlab-ci.yml
Normal file
@ -0,0 +1,58 @@
|
||||
stages:
|
||||
- check
|
||||
- build
|
||||
- deploy
|
||||
|
||||
variables:
|
||||
IMAGE_NAME: $CI_REGISTRY/$CI_PROJECT_PATH
|
||||
|
||||
check:
|
||||
image: registry.hottis.de/dockerized/base-build-env:latest
|
||||
stage: check
|
||||
tags:
|
||||
- hottis
|
||||
- linux
|
||||
- docker
|
||||
rules:
|
||||
- if: $CI_COMMIT_TAG
|
||||
script:
|
||||
- checksemver.py -v
|
||||
--versionToValidate "${CI_COMMIT_TAG}"
|
||||
--validateMessage
|
||||
--messageToValidate "${CI_COMMIT_MESSAGE}"
|
||||
|
||||
build:
|
||||
image: registry.hottis.de/dockerized/docker-bash:latest
|
||||
stage: build
|
||||
tags:
|
||||
- hottis
|
||||
- linux
|
||||
- docker
|
||||
script:
|
||||
- docker build --tag $IMAGE_NAME:latest .
|
||||
- if [ "$CI_COMMIT_TAG" != "" ]; then
|
||||
docker tag $IMAGE_NAME:latest $IMAGE_NAME:${CI_COMMIT_TAG};
|
||||
docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY;
|
||||
docker push $IMAGE_NAME:latest;
|
||||
docker push $IMAGE_NAME:${CI_COMMIT_TAG};
|
||||
fi
|
||||
|
||||
|
||||
|
||||
deploy:
|
||||
stage: deploy
|
||||
image: registry.hottis.de/dockerized/docker-bash:latest
|
||||
only:
|
||||
- tags
|
||||
variables:
|
||||
GIT_STRATEGY: none
|
||||
before_script:
|
||||
- CONTAINER_NAME=$CI_PROJECT_NAME
|
||||
- SERVICE_VOLUME=$CI_PROJECT_NAME"-conf"
|
||||
- SERVICE_PORT=5000
|
||||
- docker volume inspect $SERVICE_VOLUME || docker volume create $SERVICE_VOLUME
|
||||
- docker stop $CONTAINER_NAME || echo "$CONTAINER_NAME not running, anyway okay"
|
||||
- docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY;
|
||||
- docker pull $IMAGE_NAME:$VERSION
|
||||
- docker run -d --restart always --name "hv2-api" -p 5000:5000 -v $SERVICE_VOLUME:/opt/app/config ${IMAGE_NAME}:${VERSION}
|
||||
|
Reference in New Issue
Block a user