From 629ad463e5ec8fe9b50391a53fafcddfbf377b8e Mon Sep 17 00:00:00 2001 From: Pim Kunis Date: Fri, 26 May 2023 20:30:10 +0200 Subject: [PATCH] add concourse pipeline to build docker container --- .gitignore | 1 + pipeline.yml | 79 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 80 insertions(+) create mode 100644 .gitignore create mode 100644 pipeline.yml diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..769c244 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +secrets.yml diff --git a/pipeline.yml b/pipeline.yml new file mode 100644 index 0000000..a4faf0f --- /dev/null +++ b/pipeline.yml @@ -0,0 +1,79 @@ +--- +resources: + - name: repo + type: git + source: + uri: https://git.pim.kunis.nl/pim/concourse-apprise-notifier.git + icon: git + - name: registry-image + type: registry-image + source: + repository: git.pim.kunis.nl/pim/concourse-apprise-notifier + username: pim + password: ((api_key)) + icon: docker + +jobs: + - name: build-and-publish-image + plan: + - get: repo + trigger: true + - task: build-image + privileged: true + config: + platform: linux + image_resource: + type: registry-image + source: + repository: concourse/oci-build-task + inputs: + - name: repo + outputs: + - name: image + params: + DOCKERFILE: repo/Dockerfile + run: + path: sh + args: + - -exc + - | + build + ls image + cat image/digest | cut -d ":" -f 2- > image/tag + - task: get-old-packages + config: + platform: linux + image_resource: + type: registry-image + source: + repository: badouralix/curl-jq + outputs: + - name: old-packages + run: + path: sh + args: + - -exc + - | + ls -lash + curl -X 'GET' 'https://git.pim.kunis.nl/api/v1/packages/pim?type=container&q=concourse-apprise-notifier' -H 'accept: application/json' | jq -rc 'map(.version) | .[]' > old-packages/packages.txt + cat old-packages/packages.txt + - task: delete-old-packages + config: + platform: linux + image_resource: + type: registry-image + source: + repository: badouralix/curl-jq + inputs: + - name: old-packages + run: + path: sh + args: + - -exc + - | + ls -lash + while read pkg; do curl -X 'DELETE' "https://git.pim.kunis.nl/api/v1/packages/pim/container/concourse-apprise-notifier/$pkg?token=((api_key))" -H 'accept: application/json'; done < old-packages/packages.txt + - put: registry-image + params: + image: image/image.tar + additional_tags: image/tag