commit 97e49461f3fb184b01e6664e786cfe159a7ff524 Author: Philipp Dieter Date: Fri Aug 11 00:26:05 2023 +0200 [TASK] Init diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..a0db32f --- /dev/null +++ b/Makefile @@ -0,0 +1,5 @@ +set_pipeline: + fly -t datentonne sp -p paperless-ngx -c pipeline.yml + +trigger_job: + fly -t datentonne tj -j paperless-ngx/build -w diff --git a/pipeline.yml b/pipeline.yml new file mode 100644 index 0000000..d4ec8cb --- /dev/null +++ b/pipeline.yml @@ -0,0 +1,115 @@ +--- +resource_types: + - name: aptly-resource + type: docker-image + source: + repository: git.datentonne.net/docker-public/aptly-resource + tag: latest +resources: + - name: paperless-ngx + type: github-release + source: + owner: paperless-ngx + repository: paperless-ngx + access_token: ((github.access_token)) + tag_filter: "v([^v].*)" + - name: paperless-ngx-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: paperless-ngx + username: ((aptly.username)) + password: ((aptly.password)) + timeout: 1801 +jobs: + - name: build + plan: + - get: paperless-ngx + trigger: true + params: + include_source_tarball: true + - task: build + config: + platform: linux + image_resource: + type: registry-image + source: + repository: git.datentonne.net/docker-public/fpm-docker + tag: latest + inputs: + - name: paperless-ngx + outputs: + - name: deb + caches: + - path: go-build + caches: + - path: go-mod + run: + path: /bin/sh + args: + - -c + - | + export VERSION="$(cat paperless-ngx/version)" + export VERSION_OUT="$(cat paperless-ngx/version)-$(date +%s)" + mkdir -p paperless-ngx/source + mkdir -p opt/paperless-ngx + cat <<- EOF > paperless-ngx.service + [Unit] + Description=paperless-ngx service with docker compose + Requires=docker.service + After=docker.service + + [Service] + Type=oneshot + RemainAfterExit=true + WorkingDirectory=/opt/paperless-ngx + ExecStart=docker compose -f docker-compose.yml -f docker-compose.version.yml up -d --remove-orphans + ExecStop=docker compose down + + [Install] + WantedBy=multi-user.target + EOF + #git clone https://github.com/paperless-ngx/paperless-ngx paperless-ngx/source + #cd paperless-ngx/source + #git checkout v$VERSION + cd paperless-ngx + tar xf source.tar.gz --strip-components=1 -C source + cd .. + cp paperless-ngx/source/docker/compose/docker-compose.mariadb-tika.yml opt/paperless-ngx/docker-compose.yml + cp paperless-ngx/source/docker/compose/docker-compose.env opt/paperless-ngx/docker-compose.env + #sed -i "s/image: ghcr.io\/paperless-ngx\/paperless-ngx:latest/image: ghcr.io\/paperless-ngx\/paperless-ngx:$VERSION/g" \ + # opt/paperless-ngx/docker-compose.yml + cat <<- EOF > opt/paperless-ngx/docker-compose.version.yml + version: "3.4" + services: + webserver: + image: ghcr.io/paperless-ngx/paperless-ngx:$VERSION + EOF + cat <<- EOF > opt/paperless-ngx/docker-compose.config.yml + version: "3.4" + EOF + #cd ../.. + fpm \ + --verbose \ + -f \ + -n paperless-ngx \ + -s dir \ + -t deb \ + -v $VERSION_OUT \ + --config-files opt/paperless-ngx/docker-compose.yml \ + --config-files opt/paperless-ngx/docker-compose.config.yml \ + --config-files opt/paperless-ngx/docker-compose.env \ + --deb-systemd paperless-ngx.service \ + opt/paperless-ngx/=/opt/paperless-ngx/ + dpkg-deb -c paperless-ngx_*.deb + mv -v paperless-ngx_${VERSION_OUT}_amd64.deb deb/ + echo "deb/paperless-ngx_${VERSION_OUT}_amd64.deb" > deb/filename + - put: paperless-ngx-deb + params: + archive_file: deb/filename + gpg_passphrase_file: /etc/hosts