mirror of
https://github.com/buanet/ioBroker.docker.git
synced 2025-12-18 19:09:02 +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
|
||||
|
||||
### 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.0.2beta (2020-07-28)
|
||||
* 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
|
||||
os: linux
|
||||
-
|
||||
image: buanet/iobroker:$VERSION-aarch64
|
||||
image: buanet/iobroker:$VERSION-arm64v8
|
||||
platform:
|
||||
architecture: arm64
|
||||
variant: v8
|
||||
os: linux
|
||||
-
|
||||
image: buanet/iobroker:$VERSION-armv7hf
|
||||
image: buanet/iobroker:$VERSION-arm32v7
|
||||
platform:
|
||||
architecture: arm
|
||||
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