diff --git a/.drone.yml b/.drone.yml index 926ac60022500b731519994ac7eb77f1f5c83476..f30dbb82f2619281c0a8013cf1d3bfd53460f70b 100644 --- a/.drone.yml +++ b/.drone.yml @@ -3,6 +3,38 @@ kind: pipeline type: docker name: Build-container steps: +- name: detect-image-tag + image: archlinux/base + commands: + - | + if [[ "$DRONE_BRANCH" == "master" ]]; then + tag=""; + echo "Running on default branch '$DRONE_BRANCH': tag = 'latest'"; + else + tag=":$DRONE_BRANCH"; + echo "Running on branch '$DRONE_BRANCH': tag = $tag"; + fi + - echo "tag=$tag" >> .env + +- name: detect-registry-urls + image: archlinux/base + commands: + - registry_image=$(echo "$DRONE_REPO" | awk -F "://" '{print $2}') + - registry_domain=$(echo "$registry_image" | awk -F "/" '{print $1}') + - echo "registry_image=$registry_image" >> .env + - echo "registry_domain=$registry_domain" >> .env + +- name: login-to-docker + image: docker:dind + volumes: + - name: dockersock + path: /var/run + environment: + DOCKER_PASSWORD: + from_secret: DOCKER_PASSWORD + commands: + - source .env + - echo $DOCKER_PASSWORD | docker login --username $DRONE_REPO_OWNER --password-stdin $registry_domain - name: Build-docker image: docker:dind @@ -13,20 +45,10 @@ steps: DOCKER_PASSWORD: from_secret: DOCKER_PASSWORD commands: + - source .env - docker ps -a - docker context create build - docker buildx create build --use - - | - if [[ "$DRONE_BRANCH" == "master" ]]; then - tag=""; - echo "Running on default branch '$DRONE_BRANCH': tag = 'latest'"; - else - tag=":$DRONE_BRANCH"; - echo "Running on branch '$DRONE_BRANCH': tag = $tag"; - fi - - registry_image=$(echo "$DRONE_REPO" | awk -F "://" '{print $2}') - - registry_domain=$(echo "$registry_image" | awk -F "/" '{print $1}') - - echo $DOCKER_PASSWORD | docker login --username $DRONE_REPO_OWNER --password-stdin $registry_domain - docker buildx build --platform linux/amd64,linux/arm,linux/arm64 --push --tag "$registry_image:$tag" . services: