[TASK] Init
This commit is contained in:
commit
1c01c0e1f9
5
Makefile
Normal file
5
Makefile
Normal file
@ -0,0 +1,5 @@
|
||||
set_pipeline:
|
||||
fly -t datentonne sp -p penpot -c pipeline.yml
|
||||
|
||||
trigger_job:
|
||||
fly -t datentonne tj -j penpot/build -w
|
162
pipeline.yml
Normal file
162
pipeline.yml
Normal file
@ -0,0 +1,162 @@
|
||||
---
|
||||
resource_types:
|
||||
- name: aptly-resource
|
||||
type: docker-image
|
||||
source:
|
||||
repository: git.datentonne.net/docker-public/aptly-resource
|
||||
tag: latest
|
||||
resources:
|
||||
- name: penpot
|
||||
type: github-release
|
||||
source:
|
||||
owner: penpot
|
||||
repository: penpot
|
||||
access_token: ((github.access_token))
|
||||
- name: penpot-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: penpot
|
||||
username: ((aptly.username))
|
||||
password: ((aptly.password))
|
||||
timeout: 1801
|
||||
keep_versions: 5
|
||||
jobs:
|
||||
- name: build
|
||||
plan:
|
||||
- get: penpot
|
||||
trigger: true
|
||||
params:
|
||||
globs:
|
||||
- '*.tar.gz'
|
||||
- task: build
|
||||
config:
|
||||
platform: linux
|
||||
image_resource:
|
||||
type: registry-image
|
||||
source:
|
||||
repository: git.datentonne.net/docker-public/fpm-docker
|
||||
tag: latest
|
||||
inputs:
|
||||
- name: penpot
|
||||
outputs:
|
||||
- name: deb
|
||||
run:
|
||||
path: /bin/bash
|
||||
args:
|
||||
- -c
|
||||
- |
|
||||
export VERSION="$(cat penpot/version)"
|
||||
export VERSION_OUT="$(cat penpot/version)-$(date +%s)"
|
||||
cd penpot
|
||||
mkdir -p etc/penpot
|
||||
mkdir -p opt/penpot
|
||||
cat <<- EOF > penpot.service
|
||||
[Unit]
|
||||
Description=penpot service with docker compose
|
||||
Requires=docker.service
|
||||
After=docker.service
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
RemainAfterExit=true
|
||||
WorkingDirectory=/opt/penpot
|
||||
ExecStart=docker compose up -d --remove-orphans
|
||||
ExecStop=docker compose down
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
EOF
|
||||
cat <<- EOF > after-install
|
||||
EOF
|
||||
chmod +x after-install
|
||||
#cat <<- EOF > opt/penpot/env
|
||||
# TAG=${VERSION}
|
||||
# EOF
|
||||
#ln -s env opt/penpot/.env
|
||||
mkdir -p opt
|
||||
cat <<- EOF > opt/penpot/docker-compose.yml
|
||||
---
|
||||
version: "3.5"
|
||||
networks:
|
||||
penpot:
|
||||
volumes:
|
||||
penpot_postgres_data:
|
||||
penpot_assets_data:
|
||||
services:
|
||||
penpot-frontend:
|
||||
image: "penpotapp/frontend:${VERSION}"
|
||||
ports:
|
||||
- 9001:80
|
||||
volumes:
|
||||
- penpot_assets_data:/opt/data
|
||||
env_file:
|
||||
- config.env
|
||||
depends_on:
|
||||
- penpot-backend
|
||||
- penpot-exporter
|
||||
networks:
|
||||
- penpot
|
||||
penpot-backend:
|
||||
image: "penpotapp/backend:${VERSION}"
|
||||
volumes:
|
||||
- penpot_assets_data:/opt/data
|
||||
depends_on:
|
||||
- penpot-postgres
|
||||
- penpot-redis
|
||||
env_file:
|
||||
- config.env
|
||||
networks:
|
||||
- penpot
|
||||
penpot-exporter:
|
||||
image: "penpotapp/exporter:${VERSION}"
|
||||
env_file:
|
||||
- config.env
|
||||
environment:
|
||||
# Don't touch it; this uses internal docker network to
|
||||
# communicate with the frontend.
|
||||
- PENPOT_PUBLIC_URI=http://penpot-frontend
|
||||
networks:
|
||||
- penpot
|
||||
penpot-postgres:
|
||||
image: "postgres:14"
|
||||
restart: always
|
||||
stop_signal: SIGINT
|
||||
environment:
|
||||
- POSTGRES_INITDB_ARGS=--data-checksums
|
||||
- POSTGRES_DB=penpot
|
||||
- POSTGRES_USER=penpot
|
||||
- POSTGRES_PASSWORD=penpot
|
||||
volumes:
|
||||
- penpot_postgres_data:/var/lib/postgresql/data
|
||||
networks:
|
||||
- penpot
|
||||
penpot-redis:
|
||||
image: redis:7
|
||||
restart: always
|
||||
networks:
|
||||
- penpot
|
||||
EOF
|
||||
fpm \
|
||||
--verbose \
|
||||
-f \
|
||||
-n penpot \
|
||||
-s dir \
|
||||
-t deb \
|
||||
-v $VERSION_OUT \
|
||||
--after-install after-install \
|
||||
--config-files opt/penpot/docker-compose.yml \
|
||||
--deb-systemd penpot.service \
|
||||
opt/penpot/=/opt/penpot/
|
||||
dpkg-deb -c penpot_*.deb
|
||||
cd ..
|
||||
mv -v penpot/penpot_${VERSION_OUT}_amd64.deb deb/
|
||||
echo "deb/penpot_${VERSION_OUT}_amd64.deb" > deb/filename
|
||||
- put: penpot-deb
|
||||
params:
|
||||
archive_file: deb/filename
|
Loading…
x
Reference in New Issue
Block a user