Files
yml/jobs/docker.yml

61 lines
2.3 KiB
YAML

.docker-build-container:
image: registry.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.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 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
.docker_push_gitlab:
image: registry.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\ncontainername=$(echo \"$PROJECT_NAME\" | awk '{print tolower($0)}')\nif [[ \"$VERSION\" =~ ^([0-9]+(\\.[0-9]+)*)$ ]] \nthen\n tag=\"latest\" \nelse\n tag=\"dev\"\nfi\ndocker import $CI_PROJECT_DIR/packages/$containername.$VERSION.tar.gz $CI_REGISTRY/$CI_PROJECT_PATH:$VERSION\ndocker import $CI_PROJECT_DIR/packages/$containername.$VERSION.tar.gz $CI_REGISTRY/$CI_PROJECT_PATH:$tag\ndocker push \"$CI_REGISTRY/$CI_PROJECT_PATH:$VERSION\"\ndocker push \"$CI_REGISTRY/$CI_PROJECT_PATH:$tag\"\n"
# End of push-gitlab.sh