multi image build in woodpecker 🥳
This commit is contained in:
parent
1af0a476c9
commit
270d41b5b8
2 changed files with 26 additions and 35 deletions
|
@ -1,13 +1,18 @@
|
||||||
kind: pipeline
|
when:
|
||||||
type: kubernetes
|
- event: [push, manual]
|
||||||
name: deploy
|
matrix:
|
||||||
|
NEXTCLOUD_VERSION:
|
||||||
|
- 28
|
||||||
|
- 29
|
||||||
steps:
|
steps:
|
||||||
- name: patch
|
- name: patch
|
||||||
image: debian
|
image: debian
|
||||||
entrypoint:
|
entrypoint:
|
||||||
- /drone/src/patch-nextcloud.sh
|
- /drone/src/patch-nextcloud.sh
|
||||||
|
environment:
|
||||||
|
NEXTCLOUD_VERSION: ${NEXTCLOUD_VERSION}
|
||||||
- name: docker
|
- name: docker
|
||||||
image: thegeeklab/drone-docker-buildx
|
image: woodpeckerci/plugin-docker-buildx
|
||||||
privileged: true
|
privileged: true
|
||||||
settings:
|
settings:
|
||||||
registry: git.ar21.de
|
registry: git.ar21.de
|
||||||
|
@ -16,14 +21,15 @@ steps:
|
||||||
password:
|
password:
|
||||||
from_secret: REGISTRY_PASS
|
from_secret: REGISTRY_PASS
|
||||||
repo: git.ar21.de/aaron/nextcloud-fpm
|
repo: git.ar21.de/aaron/nextcloud-fpm
|
||||||
|
dockerfile: "nextcloud-docker/${NEXTCLOUD_VERSION}/fpm/Dockerfile"
|
||||||
|
tags_file: "nextcloud-docker/${NEXTCLOUD_VERSION}/fpm/.tags"
|
||||||
platforms:
|
platforms:
|
||||||
- linux/arm64
|
- linux/arm64
|
||||||
- linux/amd64
|
- linux/amd64
|
||||||
when:
|
when:
|
||||||
branch:
|
- branch: main
|
||||||
- main
|
|
||||||
- name: docker-build
|
- name: docker-build
|
||||||
image: thegeeklab/drone-docker-buildx
|
image: woodpeckerci/plugin-docker-buildx
|
||||||
privileged: true
|
privileged: true
|
||||||
settings:
|
settings:
|
||||||
registry: git.ar21.de
|
registry: git.ar21.de
|
||||||
|
@ -32,16 +38,12 @@ steps:
|
||||||
password:
|
password:
|
||||||
from_secret: REGISTRY_PASS
|
from_secret: REGISTRY_PASS
|
||||||
repo: git.ar21.de/aaron/nextcloud-fpm
|
repo: git.ar21.de/aaron/nextcloud-fpm
|
||||||
|
dockerfile: "nextcloud-docker/${NEXTCLOUD_VERSION}/fpm/Dockerfile"
|
||||||
|
tags_file: "nextcloud-docker/${NEXTCLOUD_VERSION}/fpm/.tags"
|
||||||
platforms:
|
platforms:
|
||||||
- linux/arm64
|
- linux/arm64
|
||||||
- linux/amd64
|
- linux/amd64
|
||||||
dry_run: true
|
dry_run: true
|
||||||
when:
|
when:
|
||||||
branch:
|
- branch:
|
||||||
exclude:
|
exclude: main
|
||||||
- main
|
|
||||||
when:
|
|
||||||
event:
|
|
||||||
include:
|
|
||||||
- push
|
|
||||||
- custom
|
|
|
@ -1,25 +1,14 @@
|
||||||
#!/usr/bin/env sh
|
#!/usr/bin/env sh
|
||||||
set -e
|
set -e
|
||||||
echo "starting patch script"
|
echo "==> starting patch script for nextcloud $NEXTCLOUD_VERSION"
|
||||||
echo "install git"
|
echo "==> install git"
|
||||||
apt-get update && apt-get install -y git && rm -rf /var/lib/apt/lists
|
apt-get update -q && apt-get install -q -y git && rm -rf /var/lib/apt/lists
|
||||||
echo "clone nextcloud/docker"
|
echo "==> clone nextcloud/docker"
|
||||||
git clone https://git.ar21.de/aaron/nextcloud-docker.git
|
git clone https://git.ar21.de/aaron/nextcloud-docker.git
|
||||||
echo "get latest major version"
|
echo "==> patch the Dockerfile"
|
||||||
major_version=$(find nextcloud-docker -maxdepth 1 -type d -printf "%f\n" | grep -E '^[0-9]+$' | sort -n | tail -1)
|
cd "nextcloud-docker/$NEXTCLOUD_VERSION/fpm/"
|
||||||
if [ -z "$major_version" ]; then
|
|
||||||
echo "Could not determine version."
|
|
||||||
exit 1
|
|
||||||
else
|
|
||||||
echo "Nextcloud $major_version found"
|
|
||||||
fi
|
|
||||||
echo "patch the Dockerfile"
|
|
||||||
cd "nextcloud-docker/$major_version/fpm/"
|
|
||||||
sed -i "$(awk '/^ENTRYPOINT /{line=NR} END{print line}' Dockerfile)s+^+# begin of patch\nRUN apt-get update\nRUN apt-get install -y libmagickcore-6.q16-6-extra tesseract-ocr tesseract-ocr-deu tesseract-ocr-eng ocrmypdf libbz2-dev\nRUN docker-php-ext-install bz2\nRUN apt-get clean autoclean\nRUN apt-get autoremove -y\nADD https://raw.githubusercontent.com/tesseract-ocr/tessdata/main/deu.traineddata /usr/share/tesseract-ocr/tessdata/\nADD https://raw.githubusercontent.com/tesseract-ocr/tessdata/main/eng.traineddata /usr/share/tesseract-ocr/tessdata/\n# end of patch\n+" Dockerfile
|
sed -i "$(awk '/^ENTRYPOINT /{line=NR} END{print line}' Dockerfile)s+^+# begin of patch\nRUN apt-get update\nRUN apt-get install -y libmagickcore-6.q16-6-extra tesseract-ocr tesseract-ocr-deu tesseract-ocr-eng ocrmypdf libbz2-dev\nRUN docker-php-ext-install bz2\nRUN apt-get clean autoclean\nRUN apt-get autoremove -y\nADD https://raw.githubusercontent.com/tesseract-ocr/tessdata/main/deu.traineddata /usr/share/tesseract-ocr/tessdata/\nADD https://raw.githubusercontent.com/tesseract-ocr/tessdata/main/eng.traineddata /usr/share/tesseract-ocr/tessdata/\n# end of patch\n+" Dockerfile
|
||||||
echo "determine tags"
|
echo "==> determine tags"
|
||||||
full_version=$(grep -oP '(?<=^ENV NEXTCLOUD_VERSION ).*' Dockerfile)
|
full_version=$(grep -oP '(?<=^ENV NEXTCLOUD_VERSION ).*' Dockerfile)
|
||||||
echo "found $full_version"
|
echo "==> found $full_version"
|
||||||
cd /drone/src
|
|
||||||
echo "$full_version,latest" > .tags
|
echo "$full_version,latest" > .tags
|
||||||
echo "move Dockerfile to workdir"
|
|
||||||
cp -r nextcloud-docker/$major_version/fpm/* .
|
|
Loading…
Reference in a new issue