commit f3b4cdf08eec8ce538822ec2203c33d707004794 Author: Philipp Dieter Date: Sun Apr 24 23:28:07 2022 +0200 [TASK] Init diff --git a/pipeline.yml b/pipeline.yml new file mode 100644 index 0000000..5833b5c --- /dev/null +++ b/pipeline.yml @@ -0,0 +1,116 @@ +--- +resource_types: + - name: aptly-resource + type: docker-image + source: + repository: docker.datentonne.net/concourse/aptly-resource + tag: latest +resources: + - name: roundcubemail + type: github-release + source: + owner: roundcube + repository: roundcubemail + access_token: ((github.access_token)) + - name: roundcubemail-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: roundcubemail-docker + username: ((aptly.username)) + password: ((aptly.password)) + timeout: 1801 + keep_versions: 5 +jobs: + - name: build + plan: + - get: roundcubemail + params: + globs: + - dummy-*-linux-amd64 + - task: build + config: + platform: linux + image_resource: + type: registry-image + source: { repository: ruby } + inputs: + - name: roundcubemail + outputs: + - name: deb + run: + path: /bin/bash + args: + - -c + - | + export VERSION="$(cat roundcubemail/version)" + export VERSION_OUT="$(cat roundcubemail/version)-$(date +%s)" + gem install fpm + cd roundcubemail + mkdir -p etc/roundcubemail + mkdir -p opt/roundcubemail + cat <<- EOF > roundcubemail.service + [Unit] + Description=roundcubemail service with docker compose + Requires=docker.service + After=docker.service + + [Service] + Type=oneshot + RemainAfterExit=true + WorkingDirectory=/opt/roundcubemail + 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 > etc/roundcubemail/config.inc.php + after-install + mkdir -p /opt/vaultwarden/data/ + EOF + chmod +x after-install + cat <<- EOF > opt/roundcubemail/env + TAG=${VERSION} + EOF + ln -s env opt/roundcubemail/.env + mkdir -p opt + cat <<- EOF > opt/roundcubemail/docker-compose.yml + version: "3" + services: + app: + image: roundcube/roundcubemail:\${TAG} + container_name: roundcubemail + volumes: + - /etc/roundcubemail/config.inc.php:/var/www/html/config/config.inc.php + ports: + - "8000:80" + EOF + fpm \ + --verbose \ + -f \ + -n roundcubemail-docker \ + -s dir \ + -t deb \ + -v $VERSION_OUT \ + --after-install after-install \ + --config-files opt/roundcubemail/docker-compose.yml \ + --config-files etc/roundcubemail/config.inc.php \ + --deb-systemd roundcubemail.service \ + opt/roundcubemail/=/opt/roundcubemail/ + dpkg-deb -c roundcubemail-docker_*.deb + cd .. + mv -v roundcubemail/roundcubemail-docker_${VERSION_OUT}_amd64.deb deb/ + echo "deb/roundcubemail-docker_${VERSION_OUT}_amd64.deb" > deb/filename + - put: roundcubemail-deb + params: + archive_file: deb/filename