From 2f0bb744ca0462156dfa8b6eb0bc0a3c50da2adb Mon Sep 17 00:00:00 2001 From: Philipp Dieter Date: Fri, 18 Mar 2022 23:49:57 +0100 Subject: [PATCH] [TASK] Setup initial pipeline --- pipeline.yml | 109 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 109 insertions(+) create mode 100644 pipeline.yml diff --git a/pipeline.yml b/pipeline.yml new file mode 100644 index 0000000..4d2a63a --- /dev/null +++ b/pipeline.yml @@ -0,0 +1,109 @@ +--- +resource_types: + - name: aptly-resource + type: docker-image + source: + repository: docker.datentonne.net/concourse/aptly-resource + tag: latest +resources: + - name: vaultwarden + type: github-release + source: + owner: dani-garcia + repository: vaultwarden + access_token: ((github.access_token)) + - name: vaultwarden-deb + type: aptly-resource + source: + api_uri: https://apt-api.datentonne.net/ + repo_uri: https://apt.datentonne.net/ + repo: datentonne + distribution: debian + component: main + architecture: amd64 + package: vaultwarden-docker + username: ((aptly.username)) + password: ((aptly.password)) + timeout: 1801 +jobs: + - name: build + plan: + - get: vaultwarden + params: + globs: + - dummy-*-linux-amd64 + - task: build + config: + platform: linux + image_resource: + type: registry-image + source: { repository: ruby } + inputs: + - name: vaultwarden + outputs: + - name: deb + run: + path: /bin/bash + args: + - -c + - | + export VERSION="$(cat vaultwarden/version)" + export VERSION_OUT="$(cat vaultwarden/version)+$(date +%s)" + gem install fpm + cd vaultwarden + mkdir -p etc/vaultwarden + mkdir -p opt/vaultwarden + cat <<- EOF > vaultwarden.service + [Unit] + Description=vaultwarden service with docker compose + Requires=docker.service + After=docker.service + + [Service] + Type=oneshot + RemainAfterExit=true + WorkingDirectory=/opt/vaultwarden + ExecStart=/usr/local/bin/docker-compose up -d --remove-orphans + ExecStop=/usr/local/bin/docker-compose down + + [Install] + WantedBy=multi-user.target + EOF + cat <<- EOF > after-install + mkdir -p /opt/vaultwarden/data/ + EOF + chmod +x after-install + cat <<- EOF > opt/vaultwarden/env + TAG=${VERSION} + EOF + ln -s env opt/vaultwarden/.env + mkdir -p opt + cat <<- EOF > opt/vaultwarden/docker-compose.yml + version: "3" + services: + app: + image: vaultwarden/server:\${TAG} + container_name: vaultwarden + ports: + - "3003:80" + volumes: + - ./data/:/data/ + EOF + fpm \ + --verbose \ + -f \ + -n vaultwarden \ + -s dir \ + -t deb \ + -v $VERSION_OUT \ + --after-install after-install \ + --config-files opt/vaultwarden/docker-compose.yml \ + --deb-systemd vaultwarden.service \ + opt/vaultwarden/=/opt/vaultwarden/ + dpkg-deb -c vaultwarden_*.deb + cd .. + mv -v vaultwarden/vaultwarden_${VERSION_OUT}_amd64.deb deb/ + echo "deb/vaultwarden_${VERSION_OUT}_amd64.deb" > deb/filename + - put: vaultwarden-deb + params: + archive_file: deb/filename