| Rameela Yaddehige | 8db5e9e | 2026-06-23 14:07:23 +0200 | [diff] [blame] | 1 | image: docker:latest |
| 2 | |
| 3 | variables: |
| 4 | FF_NETWORK_PER_BUILD: true |
| 5 | services: |
| 6 | - name: docker:dind |
| 7 | command: [--dns=127.0.0.11] |
| 8 | |
| 9 | build-docker: |
| 10 | variables: |
| 11 | VID: $CI_COMMIT_BRANCH-$CI_COMMIT_SHORT_SHA |
| Rameela Yaddehige | 4b29099 | 2026-06-25 08:02:47 +0200 | [diff] [blame^] | 12 | CLEAN_TAG : "version" |
| Rameela Yaddehige | 8db5e9e | 2026-06-23 14:07:23 +0200 | [diff] [blame] | 13 | rules: |
| 14 | - if: $CI_COMMIT_TAG =~ /.+/ |
| 15 | variables: |
| Rameela Yaddehige | d3150cb | 2026-06-23 14:44:28 +0200 | [diff] [blame] | 16 | VID: $CI_COMMIT_TAG |
| Rameela Yaddehige | bb942ce | 2026-06-25 07:50:34 +0200 | [diff] [blame] | 17 | |
| Rameela Yaddehige | 8db5e9e | 2026-06-23 14:07:23 +0200 | [diff] [blame] | 18 | - when: manual |
| 19 | stage: build |
| 20 | before_script: |
| 21 | - apk update |
| 22 | - apk add --no-cache git |
| Rameela Yaddehige | 7f2013b | 2026-06-23 15:05:15 +0200 | [diff] [blame] | 23 | |
| Rameela Yaddehige | 8db5e9e | 2026-06-23 14:07:23 +0200 | [diff] [blame] | 24 | script: |
| Rameela Yaddehige | bb942ce | 2026-06-25 07:50:34 +0200 | [diff] [blame] | 25 | - clean_tag="${CI_COMMIT_TAG:1}" |
| 26 | - echo "CLEAN_TAG=$(clean_tag)" >> $GITLAB_ENV |
| 27 | - docker build -f Dockerfile -t korap/kustvakt:$clean_tag . |
| 28 | - docker save korap/kustvakt:$clean_tag | xz > kustvakt-$clean_tag.tar.xz |
| Rameela Yaddehige | 8db5e9e | 2026-06-23 14:07:23 +0200 | [diff] [blame] | 29 | artifacts: |
| 30 | paths: |
| Rameela Yaddehige | 351a6fb | 2026-06-25 07:03:19 +0200 | [diff] [blame] | 31 | - kustvakt-$CLEAN_TAG.tar.xz |
| Rameela Yaddehige | 8db5e9e | 2026-06-23 14:07:23 +0200 | [diff] [blame] | 32 | |
| 33 | push-dockerhub: |
| 34 | stage: deploy |
| 35 | image: docker:latest |
| 36 | needs: |
| 37 | - job: build-docker |
| 38 | artifacts: true |
| 39 | dependencies: |
| 40 | - build-docker |
| 41 | rules: |
| 42 | - if: $CI_COMMIT_TAG =~ /^v.+/ |
| 43 | when: manual |
| 44 | - when: never |
| 45 | script: |
| 46 | - apk update |
| 47 | - apk add --no-cache xz |
| 48 | - echo "$DOCKERHUB_TOKEN" | docker login -u "$DOCKERHUB_USERNAME" --password-stdin |
| 49 | - CLEAN_TAG="${CI_COMMIT_TAG:1}" |
| Rameela Yaddehige | 351a6fb | 2026-06-25 07:03:19 +0200 | [diff] [blame] | 50 | - ARTIFACT=kustvakt-$CLEAN_TAG.tar.xz |
| Rameela Yaddehige | 8db5e9e | 2026-06-23 14:07:23 +0200 | [diff] [blame] | 51 | - xz -d -c "$ARTIFACT" | docker load |
| 52 | - docker tag korap/kustvakt:$CLEAN_TAG korap/kustvakt:latest |
| 53 | - docker push korap/kustvakt:$CLEAN_TAG |
| 54 | - docker push korap/kustavkt:latest |
| 55 | |