[TASK] Init
This commit is contained in:
commit
a4d6f3c256
4
.gitignore
vendored
Normal file
4
.gitignore
vendored
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
*
|
||||||
|
!pipeline.yml
|
||||||
|
!Makefile
|
||||||
|
!.gitignore
|
8
Makefile
Normal file
8
Makefile
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
set_pipeline:
|
||||||
|
fly -t datentonne sp -p pixelfed -c pipeline.yml
|
||||||
|
|
||||||
|
trigger_job_docker:
|
||||||
|
fly -t datentonne tj -j pixelfed/build-docker -w
|
||||||
|
|
||||||
|
trigger_job_deb:
|
||||||
|
fly -t datentonne tj -j pixelfed/build-deb -w
|
174
pipeline.yml
Normal file
174
pipeline.yml
Normal file
@ -0,0 +1,174 @@
|
|||||||
|
---
|
||||||
|
resource_types:
|
||||||
|
- name: aptly-resource
|
||||||
|
type: docker-image
|
||||||
|
source:
|
||||||
|
repository: git.datentonne.net/docker-public/aptly-resource
|
||||||
|
tag: latest
|
||||||
|
resources:
|
||||||
|
- name: pixelfed
|
||||||
|
type: github-release
|
||||||
|
source:
|
||||||
|
owner: pixelfed
|
||||||
|
repository: pixelfed
|
||||||
|
access_token: ((github.access_token))
|
||||||
|
tag_filter: "v([^v].*)"
|
||||||
|
- name: pixelfed-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: pixelfed
|
||||||
|
username: ((aptly.username))
|
||||||
|
password: ((aptly.password))
|
||||||
|
timeout: 1801
|
||||||
|
jobs:
|
||||||
|
- name: build-docker
|
||||||
|
plan:
|
||||||
|
- get: pixelfed
|
||||||
|
trigger: true
|
||||||
|
params:
|
||||||
|
include_source_tarball: true
|
||||||
|
- task: build
|
||||||
|
privileged: true
|
||||||
|
config:
|
||||||
|
platform: linux
|
||||||
|
#image_resource:
|
||||||
|
# type: registry-image
|
||||||
|
# source:
|
||||||
|
# repository: git.datentonne.net/docker-public/fpm-docker
|
||||||
|
# tag: latest
|
||||||
|
image_resource:
|
||||||
|
type: docker-image
|
||||||
|
source:
|
||||||
|
repository: amidos/dcind
|
||||||
|
inputs:
|
||||||
|
- name: pixelfed
|
||||||
|
#outputs:
|
||||||
|
# - name: deb
|
||||||
|
caches:
|
||||||
|
- path: go-build
|
||||||
|
caches:
|
||||||
|
- path: go-mod
|
||||||
|
params:
|
||||||
|
PACKAGE_TOKEN: ((datentonne.gitea_package_token))
|
||||||
|
#PACKAGE_TOKEN: ((github.access_token))
|
||||||
|
run:
|
||||||
|
path: bash
|
||||||
|
args:
|
||||||
|
- -ec
|
||||||
|
- |
|
||||||
|
source /docker-lib.sh
|
||||||
|
start_docker || true
|
||||||
|
export VERSION="$(cat pixelfed/version)"
|
||||||
|
export VERSION_OUT="$(cat pixelfed/version)-$(date +%s)"
|
||||||
|
cd pixelfed
|
||||||
|
mkdir source
|
||||||
|
tar xf source.tar.gz --strip-components=1 -C source
|
||||||
|
cd source
|
||||||
|
env
|
||||||
|
docker build . -t pixelfed:$VERSION -f contrib/docker/Dockerfile.apache
|
||||||
|
echo $PACKAGE_TOKEN | docker login git.datentonne.net --username phil --password-stdin
|
||||||
|
docker tag pixelfed:$VERSION git.datentonne.net/docker-public/pixelfed:$VERSION
|
||||||
|
docker push git.datentonne.net/docker-public/pixelfed:$VERSION
|
||||||
|
|
||||||
|
- name: build-deb
|
||||||
|
plan:
|
||||||
|
- get: pixelfed
|
||||||
|
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: pixelfed
|
||||||
|
outputs:
|
||||||
|
- name: deb
|
||||||
|
run:
|
||||||
|
path: bash
|
||||||
|
args:
|
||||||
|
- -cc
|
||||||
|
- |
|
||||||
|
export VERSION="$(cat pixelfed/version)"
|
||||||
|
export VERSION_OUT="$(cat pixelfed/version)-$(date +%s)"
|
||||||
|
mkdir -p pixelfed/source
|
||||||
|
mkdir -p opt/pixelfed
|
||||||
|
|
||||||
|
cat <<- EOF > pixelfed.service
|
||||||
|
[Unit]
|
||||||
|
Description=pixelfed service with docker compose
|
||||||
|
Requires=docker.service
|
||||||
|
After=docker.service
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=oneshot
|
||||||
|
RemainAfterExit=true
|
||||||
|
WorkingDirectory=/opt/pixelfed
|
||||||
|
ExecStart=docker compose \
|
||||||
|
-f docker-compose.yml \
|
||||||
|
-f docker-compose.version.yml \
|
||||||
|
-f docker-compose.config.yml \
|
||||||
|
up -d --remove-orphans
|
||||||
|
ExecStop=docker compose down
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
|
EOF
|
||||||
|
|
||||||
|
cat <<- EOF > after_upgrade.sh
|
||||||
|
cd /opt/pixelfed
|
||||||
|
docker compose exec app composer install
|
||||||
|
docker compose exec app php artisan migrate --force
|
||||||
|
docker compose exec app php artisan config:cache
|
||||||
|
docker compose exec app php artisan route:cache
|
||||||
|
docker compose exec app php artisan instance:actor
|
||||||
|
EOF
|
||||||
|
chmod +x after_upgrade.sh
|
||||||
|
|
||||||
|
cd pixelfed
|
||||||
|
tar xf source.tar.gz --strip-components=1 -C source
|
||||||
|
cd ..
|
||||||
|
cp pixelfed/source/.env.docker opt/pixelfed/.env.docker
|
||||||
|
cp pixelfed/source/docker-compose.yml opt/pixelfed/docker-compose.yml
|
||||||
|
sed -i 's/- \"8080:80\"/- ${APP_PORTS:-8080:80}/g' opt/pixelfed/docker-compose.yml
|
||||||
|
cat <<- EOF > opt/pixelfed/docker-compose.version.yml
|
||||||
|
version: "3.4"
|
||||||
|
services:
|
||||||
|
app:
|
||||||
|
image: git.datentonne.net/docker-public/pixelfed:$VERSION
|
||||||
|
worker:
|
||||||
|
image: git.datentonne.net/docker-public/pixelfed:$VERSION
|
||||||
|
EOF
|
||||||
|
cat <<- EOF > opt/pixelfed/docker-compose.config.yml
|
||||||
|
version: "3.4"
|
||||||
|
EOF
|
||||||
|
|
||||||
|
fpm \
|
||||||
|
--verbose \
|
||||||
|
-f \
|
||||||
|
-n pixelfed \
|
||||||
|
-s dir \
|
||||||
|
-t deb \
|
||||||
|
-v $VERSION_OUT \
|
||||||
|
--config-files opt/pixelfed/docker-compose.config.yml \
|
||||||
|
--after-upgrade after_upgrade.sh \
|
||||||
|
--deb-systemd pixelfed.service \
|
||||||
|
--deb-systemd-restart-after-upgrade \
|
||||||
|
opt/pixelfed/=/opt/pixelfed/
|
||||||
|
dpkg-deb -c pixelfed_*.deb
|
||||||
|
mv -v pixelfed_${VERSION_OUT}_amd64.deb deb/
|
||||||
|
echo "deb/pixelfed_${VERSION_OUT}_amd64.deb" > deb/filename
|
||||||
|
- put: pixelfed-deb
|
||||||
|
params:
|
||||||
|
archive_file: deb/filename
|
||||||
|
gpg_passphrase_file: /etc/hosts
|
Loading…
x
Reference in New Issue
Block a user