mirror of
https://github.com/buanet/ioBroker.docker.git
synced 2025-12-18 10:59:00 +02:00
changes for versioning and automated build
This commit is contained in:
112
.travis.yml
112
.travis.yml
@@ -1,112 +0,0 @@
|
|||||||
sudo: required
|
|
||||||
|
|
||||||
branches:
|
|
||||||
only:
|
|
||||||
- master
|
|
||||||
- beta
|
|
||||||
|
|
||||||
services:
|
|
||||||
- docker
|
|
||||||
|
|
||||||
language: bash
|
|
||||||
|
|
||||||
env:
|
|
||||||
global:
|
|
||||||
- secure: "iqK7JBsQiYceKOvRkmSa6okzXn3BygEPZjffby4agaVCwIt2SYLAcBOisOoKDpyAX+DUWlHz3gITImVa+uIna6Ue7k4C2AGJVDr87G6iq57Tn6yjrfhPs/TW9/CWvKg/G4uvKEnycMiLDXdcctSMwRr3ZwzJEdeEdmNZVsd2LP/5U0I/2K2Io22tNciSKhqlSaIfhK4f6Jk7xffnQFjwy+P9qPN18oI1fDyeHx6ZWyN3YhQQ4eGyxHjxZjlhCxSvu5R4DMf1jFIoLRAr6G5jrQacn0pG8PtBVLoYT4RsPy+fwUtXmnWWjeXK0IrU1njZf/DUteI9xnaDcHzZYj+d7MeSUc6BuWOyx9lO3ZwBWDNycYsKaF5so4RpdzoY/gfJMlK3uWDbADb46dWzPD5gb3pEROKau3fBDHS5eaR5e1Bxzz6FGoYWYfsQHqpg9g7v4BRFq+Jh0+v47fdyMxgK/Nm4+r7+ht77Usu29+X6X8F4iwrBJ/ix5xIf7iMoH/ZGvq6BEKi/1t9zdXMugcWOqwlYx9k6J9bQhBfw8YucLmgl3ynzrPaLlPEpY9cnb7hcOUDZoHI7KK2zF/y3yfNr2BqlRbm39HFWfnwuJPO5VLYGs5QubeVj9u1M+5Qo4erPuQBBc4mHP4eF2PmRA+wiVWki0z+U2skFQppkCfrbH8c="
|
|
||||||
- secure: "iqoZUcWgZueNQrNldF/ugwyU1LR5E+doTfjY0exQqAKjntG5n2QqYZ/+dX1gqvkfy1kuMINTBWfqSALbhfTTK7EfUjqmcnaks4CMVZQkhH/FyCOYHqSBSSN7j4XeHt1sXn1FRiSpyrZOUoOuyqoBRe3JoWhdQZAGxNzX3sJllwnKa6M0D6D2l9tUyTWO/jxhgTIoYBSrXvb68ZsCU9jlNBJbylfvEFwuSlwvfa+Mz9vAeCTuza9XDnvcxgwVq3r+YGxfmAhK9fOAvN+lPN+KA0LcIzBaW0sh24voqjfh/pLpsl03zeGNdWzS9r2qYPCP0N3asb5P6CVEbbAGYO1T5PvU78ILXGi4+/x/32O6/I9oXpMVQCFHNn0Gn/8BPRHY4ZOYI9ItnhV9Ncp7hhAWAAqf3KC5GM89l9R5KxFY3bhN/p8nuGresUDU5d57YkaV8rOhPpr0dbAyKFtuzG0+bT1N2ekXyTyMHeAGKiGwfD9bAS4qx6asFO5uw6UriBHNzJ59Cy3GT+W1CctaEuvqJlc6Iqz2KaBozEqnNFcpE2Grny4bzr5fp+b1qCO9TE2LhHU/LR5FTLjQ2wf9/raTM6yboq+guKeXxpySa2w8ABDq0OUAw4mrKqJQJohzBkl3oYTpWUG2JGEyMAJxjkmH0/3GwZESPNLaaYVjQByTDDY="
|
|
||||||
- VERSION="$(cat .VERSION)"
|
|
||||||
- MAJORVERSION="$(cat .VERSION | cut -c 1-2 | sed -r 's#^(.{0})#\1latest-#')"
|
|
||||||
|
|
||||||
before_install:
|
|
||||||
- wget https://github.com/estesp/manifest-tool/releases/download/v0.7.0/manifest-tool-linux-amd64 -O manifest-tool
|
|
||||||
- chmod +x manifest-tool
|
|
||||||
- docker run --rm --privileged multiarch/qemu-user-static:register
|
|
||||||
- echo "$HUB_PASS" | docker login -u "$HUB_USER" --password-stdin
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
include:
|
|
||||||
- stage: Build images
|
|
||||||
env:
|
|
||||||
- ARCH=amd64
|
|
||||||
- JOB_NAME="Build images"
|
|
||||||
script:
|
|
||||||
- sed -i "s/\$VERSION/${VERSION}/g" $ARCH/scripts/iobroker_startup.sh
|
|
||||||
- docker build -t "buanet/iobroker:$VERSION-$ARCH" ./amd64
|
|
||||||
|
|
||||||
- stage: Build images
|
|
||||||
env:
|
|
||||||
- ARCH=aarch64
|
|
||||||
- JOB_NAME="Build images"
|
|
||||||
script:
|
|
||||||
- docker run --rm --privileged multiarch/qemu-user-static:register --reset
|
|
||||||
- sed -i "s/\$VERSION/${VERSION}/g" $ARCH/scripts/iobroker_startup.sh
|
|
||||||
- docker build -t "buanet/iobroker:$VERSION-$ARCH" ./aarch64
|
|
||||||
|
|
||||||
- stage: Build images
|
|
||||||
env:
|
|
||||||
- ARCH=armv7hf
|
|
||||||
- JOB_NAME="Build images"
|
|
||||||
script:
|
|
||||||
- docker run --rm --privileged multiarch/qemu-user-static:register --reset
|
|
||||||
- sed -i "s/\$VERSION/${VERSION}/g" $ARCH/scripts/iobroker_startup.sh
|
|
||||||
- docker build -t "buanet/iobroker:$VERSION-$ARCH" ./armv7hf
|
|
||||||
|
|
||||||
- stage: Manifest
|
|
||||||
env:
|
|
||||||
- JOB_NAME="Manifest"
|
|
||||||
script:
|
|
||||||
- echo Placeholder
|
|
||||||
|
|
||||||
after_success:
|
|
||||||
# tag and push built images
|
|
||||||
- >
|
|
||||||
if [ "$TRAVIS_BRANCH" == "master" ] && [ "$TRAVIS_PULL_REQUEST" == "false" ] && [ "$JOB_NAME" == "Build images" ] ; then
|
|
||||||
docker push buanet/iobroker:$VERSION-$ARCH
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$TRAVIS_BRANCH" == "beta" ] && [ "$TRAVIS_PULL_REQUEST" == "false" ] && [ "$JOB_NAME" == "Build images" ] ; then
|
|
||||||
docker push buanet/iobroker:$VERSION-$ARCH
|
|
||||||
fi
|
|
||||||
|
|
||||||
# update repository manifest for multiarch and push to hub
|
|
||||||
- >
|
|
||||||
if [ "$TRAVIS_BRANCH" == "master" ] && [ "$TRAVIS_PULL_REQUEST" == "false" ] && [ "$JOB_NAME" == "Manifest" ]; then
|
|
||||||
cat manifest.yml | sed "s/\$VERSION/${VERSION}/g" > manifest.yaml
|
|
||||||
|
|
||||||
#manifest for image: buanet/iobroker:version
|
|
||||||
cat manifest.yaml | sed "s/\$DOCKERTAG/${VERSION}/g" > manifestversion.yaml
|
|
||||||
|
|
||||||
#manifest for image: buanet/iobroker:latest
|
|
||||||
cat manifest.yaml | sed "s/\$DOCKERTAG/latest/g" > manifestlatest.yaml
|
|
||||||
|
|
||||||
#manifest for image: buanet/iobroker:latest-majorversion
|
|
||||||
cat manifest.yaml | sed "s/\$DOCKERTAG/${MAJORVERSION}/g" > manifestmajorversion.yaml
|
|
||||||
|
|
||||||
#push to hub
|
|
||||||
mv manifestversion.yaml iobroker.yaml
|
|
||||||
./manifest-tool --username $HUB_USER --password $HUB_PASS push from-spec iobroker.yaml
|
|
||||||
|
|
||||||
mv manifestlatest.yaml iobroker.yaml
|
|
||||||
./manifest-tool --username $HUB_USER --password $HUB_PASS push from-spec iobroker.yaml
|
|
||||||
|
|
||||||
mv manifestmajorversion.yaml iobroker.yaml
|
|
||||||
./manifest-tool --username $HUB_USER --password $HUB_PASS push from-spec iobroker.yaml
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$TRAVIS_BRANCH" == "beta" ] && [ "$TRAVIS_PULL_REQUEST" == "false" ] && [ "$JOB_NAME" == "Manifest" ]; then
|
|
||||||
|
|
||||||
cat manifest.yml | sed "s/\$VERSION/${VERSION}/g" > manifest.yaml
|
|
||||||
|
|
||||||
#manifest for image: buanet/iobroker:version
|
|
||||||
cat manifest.yaml | sed "s/\$DOCKERTAG/${VERSION}/g" > manifestversion.yaml
|
|
||||||
|
|
||||||
#manifest for image: buanet/iobroker:beta
|
|
||||||
cat manifest.yaml | sed "s/\$DOCKERTAG/beta/g" > manifestbeta.yaml
|
|
||||||
|
|
||||||
#push to hub
|
|
||||||
mv manifestversion.yaml iobroker.yaml
|
|
||||||
./manifest-tool --username $HUB_USER --password $HUB_PASS push from-spec iobroker.yaml
|
|
||||||
|
|
||||||
mv manifestbeta.yaml iobroker.yaml
|
|
||||||
./manifest-tool --username $HUB_USER --password $HUB_PASS push from-spec iobroker.yaml
|
|
||||||
fi
|
|
||||||
@@ -1,5 +1,10 @@
|
|||||||
## Changelog
|
## Changelog
|
||||||
|
|
||||||
|
### v5.2.0beta (2021-04-02)
|
||||||
|
* some renaming to optimize automated build
|
||||||
|
* changes in versioning
|
||||||
|
* delete travis for automated build
|
||||||
|
|
||||||
### v5.1.0 (2020-11-05)
|
### v5.1.0 (2020-11-05)
|
||||||
* v5.0.2beta (2020-07-28)
|
* v5.0.2beta (2020-07-28)
|
||||||
* added docker tag for majorversion latest
|
* added docker tag for majorversion latest
|
||||||
|
|||||||
7
amd64/manifest.yml
Normal file
7
amd64/manifest.yml
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
image: buanet/iobroker:$VERSION-amd64
|
||||||
|
manifests:
|
||||||
|
-
|
||||||
|
image: buanet/iobroker:$VERSION-amd64
|
||||||
|
platform:
|
||||||
|
architecture: amd64
|
||||||
|
os: linux
|
||||||
8
arm32v7/manifest.yml
Normal file
8
arm32v7/manifest.yml
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
image: buanet/iobroker:$VERSION-arm32v7
|
||||||
|
manifests:
|
||||||
|
-
|
||||||
|
image: buanet/iobroker:$VERSION-arm32v7
|
||||||
|
platform:
|
||||||
|
architecture: arm
|
||||||
|
variant: v7
|
||||||
|
os: linux
|
||||||
8
arm64v8/manifest.yml
Normal file
8
arm64v8/manifest.yml
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
image: buanet/iobroker:$VERSION-arm64v8
|
||||||
|
manifests:
|
||||||
|
-
|
||||||
|
image: buanet/iobroker:$VERSION-arm64v8
|
||||||
|
platform:
|
||||||
|
architecture: arm64
|
||||||
|
variant: v8
|
||||||
|
os: linux
|
||||||
@@ -6,13 +6,13 @@ manifests:
|
|||||||
architecture: amd64
|
architecture: amd64
|
||||||
os: linux
|
os: linux
|
||||||
-
|
-
|
||||||
image: buanet/iobroker:$VERSION-aarch64
|
image: buanet/iobroker:$VERSION-arm64v8
|
||||||
platform:
|
platform:
|
||||||
architecture: arm64
|
architecture: arm64
|
||||||
variant: v8
|
variant: v8
|
||||||
os: linux
|
os: linux
|
||||||
-
|
-
|
||||||
image: buanet/iobroker:$VERSION-armv7hf
|
image: buanet/iobroker:$VERSION-arm32v7
|
||||||
platform:
|
platform:
|
||||||
architecture: arm
|
architecture: arm
|
||||||
variant: v7
|
variant: v7
|
||||||
|
|||||||
@@ -1,84 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
# Backupscript fuer ein Backup von ioBroker unter Docker auf einer Synology Disk Station (Sicherung des ioBroker-Verzeichnises).
|
|
||||||
# Vorhaltezeit der letzten Backups: 90 Tage, ältere Backups werden automatisch geloescht.
|
|
||||||
#
|
|
||||||
# By Andre Germann
|
|
||||||
# Version 1.1 (22.09.2017)
|
|
||||||
#
|
|
||||||
# ACHTUNG: Dieses Script muss vorher auf die Synology Disk Station kopiert und dann auch dort ausgefuehrt werden!
|
|
||||||
# Fuer die geplante, regelmaessige Ausfuehrung bietet sich der Aufgabenplaner der Disk Station an.
|
|
||||||
#
|
|
||||||
# ACHTUNG: Dieses Script stoppt vor der Sicherung des Verzeichnises den ioBroker Container!
|
|
||||||
# Zur Sicherheit wird empfohlen ioBroker vor dem Backup innerhalb des Containers zu stoppen.
|
|
||||||
# Dieses kann zum Beispiel ueber den vorherigen Aufruf des Scripts iobroker_stop.sh aus ioBroker heraus erledigt werden.
|
|
||||||
|
|
||||||
|
|
||||||
# Deklaration der Variablen. Pfade und Bezeichnungen muessen ggf. entsprechend angepasst werden.
|
|
||||||
|
|
||||||
iobrokerPATH='/volume1/docker/iobroker_mount' # Pfad des gemounteten ioBroker-Verzeichnises (zu sicherndes Verzeichnis) auf der Synology Disk Station
|
|
||||||
backupPATH='/volume1/docker/iobroker_backup/archiv' # Pfad zum Speichern des Backups
|
|
||||||
iobrokerCONTAINERNAME='iobroker' # Name des ioBroker-Containers in Docker
|
|
||||||
|
|
||||||
|
|
||||||
# Start Script - Ab hier muss nichts mehr geaendert werden!
|
|
||||||
|
|
||||||
echo "#####################################################"
|
|
||||||
echo "############## Backupscript gestartet. ##############"
|
|
||||||
echo "#####################################################"
|
|
||||||
|
|
||||||
|
|
||||||
### Backup ioBroker-Verzeichnis
|
|
||||||
|
|
||||||
|
|
||||||
# ioBroker-Container stoppen
|
|
||||||
|
|
||||||
echo ""
|
|
||||||
echo "Der ioBroker-Container ($iobrokerCONTAINERNAME) in Docker wird gestoppt..."
|
|
||||||
|
|
||||||
docker stop $iobrokerCONTAINERNAME > /dev/null
|
|
||||||
|
|
||||||
echo "Container in Docker gestoppt."
|
|
||||||
echo ""
|
|
||||||
echo "######################################################"
|
|
||||||
sleep 5
|
|
||||||
|
|
||||||
|
|
||||||
# Backupdatei erstellen
|
|
||||||
|
|
||||||
echo ""
|
|
||||||
echo "Der Ordner $iobrokerPATH wird gesichert..."
|
|
||||||
|
|
||||||
tar -C "$iobrokerPATH" -czf "$backupPATH/backup-$(date +%Y-%m-%d_%H-%M).tar.gz" .
|
|
||||||
|
|
||||||
echo "Sicherung des Ordners erstellt."
|
|
||||||
echo ""
|
|
||||||
echo "######################################################"
|
|
||||||
sleep 5
|
|
||||||
|
|
||||||
|
|
||||||
# Alte Backups loeschen (Loescht per "rm" alle "*.tar.gz"-Dateien im Ordner, die aelter als 90 Tage sind)
|
|
||||||
|
|
||||||
echo ""
|
|
||||||
echo "Entfernen alter Backups aus dem Verzeichnis $backupPATH..."
|
|
||||||
|
|
||||||
find -P "$backupPATH/" -maxdepth 1 -type f \( -name '*.tar.gz' \) -ctime +90 -exec rm {} \;
|
|
||||||
|
|
||||||
echo "Alte Backups wurden entfernt."
|
|
||||||
echo ""
|
|
||||||
echo "######################################################"
|
|
||||||
sleep 5
|
|
||||||
|
|
||||||
|
|
||||||
# ioBroker-Container starten
|
|
||||||
|
|
||||||
echo ""
|
|
||||||
echo "Der ioBroker-Container ($iobrokerCONTAINERNAME) in Docker wird gestartet..."
|
|
||||||
|
|
||||||
docker start $iobrokerCONTAINERNAME > /dev/null
|
|
||||||
|
|
||||||
echo "Container in Docker gestartet."
|
|
||||||
echo ""
|
|
||||||
echo "################### Script Ende ######################"
|
|
||||||
|
|
||||||
exit 0
|
|
||||||
Reference in New Issue
Block a user