Commit aae46967 authored by Artem Baranovskyi's avatar Artem Baranovskyi
Browse files

Image build is optimized.

parent 08a4b388
Pipeline #10719 failed
......@@ -12,49 +12,58 @@
stages:
- build
- containerize
- deploy
variables:
DOCKER_DRIVER: overlay2
DOCKER_TLS_CERTDIR: ""
DOCKER_HOST: "unix:///var/run/docker.sock"
# DOCKER_HOST: tcp://docker:2375/
DOCKER_OPTS: "--data-root=/mnt/volume/docker-data"
DOCKER_MEMORY: "4g"
DOCKER_CPUS: "2"
before_script:
- mkdir -p ~/.docker
- echo $DOCKER_CONFIG_JSON | base64 -d > ~/.docker/config.json
- echo $DOCKER_PW | docker login -u $DOCKER_USER --password-stdin
- docker system prune -a -f --volumes || true
- docker container prune -f || true
- docker network prune -f || true
- docker image prune -a -f || true
- docker builder prune -f || true
build:
build-job:
image: docker:latest
stage: build
image: docker:dind
services:
- name: docker:dind
command: ["--tls=false", "--storage-driver=overlay2", "--mtu=1500", "--data-root=/mnt/volume"]
- docker:dind
script:
- docker buildx create --use
# - docker buildx build --cache-from=type=registry,ref=$DOCKER_REPO --no-cache --progress=plain -t $DOCKER_REPO -f flask_ml_api/Dockerfile flask_ml_api
- docker build --cache-from=flask-backend-full --no-cache --progress=plain -t flask-backend-full -f flask_ml_api/Dockerfile .
- echo $DOCKER_REPO
- docker push $DOCKER_REPO
only:
- master
- echo "Building the Flask project"
- docker build -t $DOCKER_REPO:flask .
deploy:
containerize-job:
image: docker:latest
stage: containerize
services:
- docker:dind
script:
- echo "Pushing Docker image to DockerHub"
- docker login -u $DOCKER_USER -p $DOCKER_PW
- docker push $DOCKER_REPO:flask
deploy-job:
image: docker:latest
stage: deploy
image: docker:dind
services:
- name: docker:dind
command: ["--tls=false", "--storage-driver=overlay2", "--mtu=1500", "--data-root=/mnt/volume"]
- docker:dind
script:
- docker pull $DOCKER_REPO
- docker run -d $DOCKER_REPO
only:
- master
\ No newline at end of file
- echo "Deploying Flask container to BW_CLOUD"
- apk add openssh-client
- eval $(ssh-agent -s)
- echo "$BW_CLOUD_SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add -
- mkdir -p ~/.ssh
- chmod 700 ~/.ssh
- ssh -o StrictHostKeyChecking=no $BW_CLOUD_USER@$BW_CLOUD_IP "
set -x
sudo docker login -u $DOCKER_USER -p $DOCKER_PW
sudo docker stop flask-container || true
sudo docker rm flask-container || true
sudo docker pull $DOCKER_REPO:flask
sudo docker run --name flask-container -d -p 5000:5000 $DOCKER_REPO:flask
"
artifacts:
paths:
- build/
\ No newline at end of file
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment