85 lines
2.7 KiB
YAML
85 lines
2.7 KiB
YAML
.docker-build-container:
|
|
image: registry.internal.durp.info/docker:20.10.17
|
|
variables:
|
|
DOCKER_DRIVER: overlay2
|
|
DOCKER_TLS_CERTDIR: ""
|
|
DOCKER_HOST: tcp://127.0.0.1:2375/
|
|
services:
|
|
- name: docker:dind
|
|
entrypoint: ["dockerd-entrypoint.sh", "--tls=false"]
|
|
script:
|
|
# Begin of docker-login.sh
|
|
- |
|
|
#login to docker
|
|
docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY/$CI_PROJECT_PATH
|
|
# End of docker-login.sh
|
|
|
|
# Begin of docker-build.sh
|
|
- |
|
|
#Build Docker Container
|
|
docker build -t $CI_REGISTRY/$CI_PROJECT_PATH:$VERSION -t $CI_REGISTRY/$CI_PROJECT_PATH:latest .
|
|
docker push "$CI_REGISTRY/$CI_PROJECT_PATH:latest"
|
|
docker push "$CI_REGISTRY/$CI_PROJECT_PATH:$VERSION"
|
|
# End of docker-build.sh
|
|
.docker_build:
|
|
image: registry.internal.durp.info/docker:20.10.17
|
|
variables:
|
|
DOCKER_DRIVER: overlay2
|
|
DOCKER_TLS_CERTDIR: ""
|
|
DOCKER_HOST: tcp://127.0.0.1:2375/
|
|
services:
|
|
- name: docker:dind
|
|
entrypoint: ["dockerd-entrypoint.sh", "--tls=false"]
|
|
script:
|
|
# Begin of version.sh
|
|
- |
|
|
#check for Version variable
|
|
if [ -z "${VERSION}" ]; then
|
|
# If not, assign a default value
|
|
VERSION=$CI_COMMIT_SHORT_SHA
|
|
fi
|
|
# End of version.sh
|
|
|
|
# Begin of build.sh
|
|
- |
|
|
#Build Docker Container
|
|
mkdir $CI_PROJECT_DIR/packages
|
|
containername=$(echo "$PROJECT_NAME" | awk '{print tolower($0)}')
|
|
docker build -t $containername .
|
|
docker save -o $CI_PROJECT_DIR/packages/$containername.$VERSION.tar.gz $containername
|
|
# End of build.sh
|
|
artifacts:
|
|
expire_in: 1 hour
|
|
paths:
|
|
- $CI_PROJECT_DIR/packages
|
|
.docker_push_gitlab:
|
|
image: registry.internal.durp.info/docker:20.10.17
|
|
variables:
|
|
DOCKER_DRIVER: overlay2
|
|
DOCKER_TLS_CERTDIR: ""
|
|
DOCKER_HOST: tcp://127.0.0.1:2375/
|
|
services:
|
|
- name: docker:dind
|
|
entrypoint: ["dockerd-entrypoint.sh", "--tls=false"]
|
|
script:
|
|
# Begin of login.sh
|
|
- |
|
|
#Docker Login
|
|
docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY/$CI_PROJECT_PATH
|
|
# End of login.sh
|
|
|
|
# Begin of push-gitlab.sh
|
|
- |
|
|
#Push container to gitlab
|
|
containername=$(echo "$PROJECT_NAME" | awk '{print tolower($0)}')
|
|
if echo "$VERSION" | grep -Eq '^[0-9]+(\.[0-9]+)*$'; then
|
|
tag="latest"
|
|
else
|
|
tag="dev"
|
|
fi
|
|
docker import $CI_PROJECT_DIR/packages/$containername.$VERSION.tar.gz $CI_REGISTRY/$CI_PROJECT_PATH:$VERSION
|
|
docker import $CI_PROJECT_DIR/packages/$containername.$VERSION.tar.gz $CI_REGISTRY/$CI_PROJECT_PATH:$tag
|
|
docker push "$CI_REGISTRY/$CI_PROJECT_PATH:$VERSION"
|
|
docker push "$CI_REGISTRY/$CI_PROJECT_PATH:$tag"
|
|
# End of push-gitlab.sh
|