Skripte als GIT HUb oder als DEB* aus eigenem Repo ?
Skripte als GIT HUb oder als DEB* aus eigenem Repo ?
Moin, ich habe eine recht einfach Frage :
Ich nutze viele selbst geschriebene Scripte auf diversen Systemen. Script Änderungen implementiere ich z.Z. händisch - das macht kein Spass :/
Daher eine einfache Frage : Sollte für ich Bash Scripte ein Eigenes Repo aufsetzen oder via GIT updates auf die Rechner bekommen ?
- aktualisieren sich die Systeme automatisch auch über GIT ( wie beim APT ? )
Ich nutze viele selbst geschriebene Scripte auf diversen Systemen. Script Änderungen implementiere ich z.Z. händisch - das macht kein Spass :/
Daher eine einfache Frage : Sollte für ich Bash Scripte ein Eigenes Repo aufsetzen oder via GIT updates auf die Rechner bekommen ?
- aktualisieren sich die Systeme automatisch auch über GIT ( wie beim APT ? )
- towo
- Beiträge: 4545
- Registriert: 27.02.2007 19:49:44
- Lizenz eigener Beiträge: GNU Free Documentation License
Re: Skripte als GIT HUb oder als DEB* aus eigenem Repo ?
Nein.aktualisieren sich die Systeme automatisch auch über GIT ( wie beim APT ? )
Re: Skripte als GIT HUb oder als DEB* aus eigenem Repo ?
Es hält dich natürlich niemand davon ab, deine git-repos per cron zu pullen...
Jesus saves. Buddha does incremental backups.
Windows ist doof, Linux funktioniert nicht • Don't break debian! • Wie man widerspricht
Windows ist doof, Linux funktioniert nicht • Don't break debian! • Wie man widerspricht
- cosinus
- Beiträge: 4227
- Registriert: 08.02.2016 13:44:11
- Lizenz eigener Beiträge: GNU General Public License
- Wohnort: Bremen
Re: Skripte als GIT HUb oder als DEB* aus eigenem Repo ?
Wieviele Skripte sind denn das, und wie oft musst du die aktualisieren? Ich würd auch gern mal wissen was das für Skripte sind und warum die so oft Updates brauchen.speefak hat geschrieben:06.09.2022 15:06:15Ich nutze viele selbst geschriebene Scripte auf diversen Systemen.
Re: Skripte als GIT HUb oder als DEB* aus eigenem Repo ?
Naja nein – ich halte das zwar für keine gute Lösung, aber abhalten würde ich keinen, der sowas machen will. Solange er nur weiß, was er macht – sonst geht’s halt schief.TRex hat geschrieben:06.09.2022 15:55:23Es hält dich natürlich niemand davon ab, deine git-repos per cron zu pullen...
Re: Skripte als GIT HUb oder als DEB* aus eigenem Repo ?
Das ist ja letztlich deine Entscheidung, also ich habe pro Script ein Repository in meinem Gitea und lasse über mvoCi bei Releases automatisch Debian Pakete bauen.speefak hat geschrieben:06.09.2022 15:06:15Daher eine einfache Frage : Sollte für ich Bash Scripte ein Eigenes Repo aufsetzen oder via GIT updates auf die Rechner bekommen ?
Ein Build-Script sieht etwa folgendermaßen aus:
Code: Alles auswählen
#!/bin/bash
SCRIPTS="mein-script.sh"
#
# syntax check
#
for i in ${SCRIPTS}; do
echo "Testing $i"
if ! bash -n ./src/usr/sbin/$i; then
echo "BUILD: Syntax error in script ./src/usr/sbin/$i"
exit 1
fi
done
echo "Syntax check finished without errors"
#
# Continue with build if MVO_EVENT = "release"
#
if test "${MVO_EVENT}" != "release"; then
exit 0
fi
if test "${MVO_REPO}" = "" -o "${MVO_COMMIT_SHA}" = ""; then
echo "Relase not possible MVO_REPO and MVO_COMMIT_SHA are missing"
exit 1
fi
cat ./src/DEBIAN/control.template | sed "s/###VERSION###/${MVO_COMMIT_SHA}/g" >src/DEBIAN/control
rm ./src/DEBIAN/control.template
fakeroot dpkg-deb --build "./src" "./${MVO_REPO}-${MVO_COMMIT_SHA}.deb"
if test -e "${MVO_REPO}-${MVO_COMMIT_SHA}.deb"; then
echo "BUILD RLEASE SUCCESSFULL"
if test "${MVO_ARG_SKIP_RELEASE}" != "yes"; then
if test -e /usr/local/bin/release-debian-package.sh -a "${MVO_ARG_SKIP_RELEASE}" != "yes"; then
echo "RELEASING DEBIAN PACKAGE"
sudo /usr/local/bin/release-debian-package.sh "${MVO_REPO}" "./${MVO_REPO}-${MVO_COMMIT_SHA}.deb"
echo "RELEASE SUCCESSFULL"
else
echo "RELEASE SCRIPT NOT FOUND: /usr/local/bin/release-debian-package.sh not found"
fi
else
echo "NOT RELASING PACKAGE => MVO_ARG_SKIP_RELEASE == 'yes'"
fi
exit 0
else
echo "BUILD RELASE FAILED"
exit 1
fi
Code: Alles auswählen
Package: mein-script-package
Version: ###VERSION###
Section: base
Priority: optional
Architecture: all
Maintainer: "Ich <me@example.com>"
Description: Mein Script
Requires: sudo, zfsutils-linux, mbuffer, openssh-client
Code: Alles auswählen
build.sh
src/DEBIAN/control.template
src/usr/sbin/mein-script.sh
Code: Alles auswählen
#!/bin/bash
PACKAGE_NAME="$1"
PACKAGE_FILE="$2"
if test "${PACKAGE_NAME}" = "" -o "${PACKAGE_FILE}" = ""; then
echo "$0 PackageName PackageFile"
exit 1
fi
if ! test -d /var/www/deb.meine-domain.de/${PACKAGE_NAME}; then
echo "Could not find repository for ${PACKAGE_NAME}"
exit 1
fi
if ! test -d /var/www/deb.meine-domain.de/${PACKAGE_NAME}/binary; then
echo "Could not find binary directory in repository"
exit 1
fi
install -m 0644 $PACKAGE_FILE /var/www/deb.meine-domain.de/${PACKAGE_NAME}/binary
cd /var/www/deb.meine-domain.de/${PACKAGE_NAME} ; dpkg-scanpackages . /dev/null | gzip -9c > /var/www/deb.meine-domain.de/${PACKAGE_NAME}/Packages.gz
cd /var/www/deb.meine-domain.de/${PACKAGE_NAME} ; dpkg-scanpackages . > /var/www/deb.meine-domain.de/${PACKAGE_NAME}/Release
Code: Alles auswählen
deb [trusted=yes] http://deb.meine-domain.de/mein-script /
Re: Skripte als GIT HUb oder als DEB* aus eigenem Repo ?
Bis jetzt sind es knapp 30 Rechner auf denen die Scripte ( ca. 20 ) laufen. ( https://github.com/speefak ). Anpassungen werden meist bei Syntaxänderungen der verwendeten Programme nötig, wie z.B. bei Postfix/mail : Dort wurde per default eine Mail immer im Plaintext versendet. Eines Tages bekam ich nur noch Buchstaben und Zeichen statt Systemmeldungen - die Option -plaintext beim Programm mail war nun zwingend.cosinus hat geschrieben:06.09.2022 16:12:18Wieviele Skripte sind denn das, und wie oft musst du die aktualisieren? Ich würd auch gern mal wissen was das für Skripte sind und warum die so oft Updates brauchen.speefak hat geschrieben:06.09.2022 15:06:15Ich nutze viele selbst geschriebene Scripte auf diversen Systemen.
Ich denke ich werde mir aber ein eigenes Repositoy erstellen, denn ich habe auch einiges an Dateien ( Themes, Wallpaper, Preconfigs etc ) und nicht nur reinen Text. Kurz überflogen scheint es ja nicht die Welt zu sein ein Repo aufzusezten - ich bin mal gepsannt was mich da die tage erwartet
- cosinus
- Beiträge: 4227
- Registriert: 08.02.2016 13:44:11
- Lizenz eigener Beiträge: GNU General Public License
- Wohnort: Bremen
Re: Skripte als GIT HUb oder als DEB* aus eigenem Repo ?
Nur mal so als Idee. Bei Windows hat man für Login-Scripte in einer Serverdomain ja den Ordner NETLOGON (auf jedem Domaincontroller). Richte doch sowas ähnliches auch für die Linuxkisten ein. Irgendeinen Linux-Server schnappen, den mit NFS verpassen und die Scripte und Themes und was sonst noch so da ist in ein Verzeichnis schieben und dieses dann readonly freigeben über die /etc/exports. Dann müssen die Clients diese Freigabe bloß nur noch mounten, der Rest sollte klar sein. Und dann hast du nur noch eine Stelle an der du Scripte und Dateien pflegen/updaten musst.
Re: Skripte als GIT HUb oder als DEB* aus eigenem Repo ?
Die Idee ist gar nicht so schlecht. Ich würde Statt NFS einfach ein Verzeichnis vom Apache nehmen/erstellen und per Script auf den Clients aktualisieren.
Eine Freigabe vom Server zu mounten verursacht dann allerdings bei jedem Zugriff von jedem Rechner Traffic ( bei Wallpapern icon theme etc kann das schon recht viel werden )
Für Scripte könnte man einfach ein Apacheverzeichnis in /usr/local/bin/remote verlinken. Muss man die Pfade unterhalb von /usr/local/bin auch in der PATH Variable angeben oder werden die durch /usr/local/bin includiert ?
Am einfachsten für die Clients ist wohl aber ein Repo. Dafür ist nur Quelleintrag nötig und der Rest läuft dann von selbst. Das Repo aufsetzen ist vllt mehr Aufwand, aber den hat man ja nur einmal. Der Dep-Bau kann mit Scriupten oder checkinstall ( gibs das noch ) umgesetzt werden.
Eine Freigabe vom Server zu mounten verursacht dann allerdings bei jedem Zugriff von jedem Rechner Traffic ( bei Wallpapern icon theme etc kann das schon recht viel werden )
Für Scripte könnte man einfach ein Apacheverzeichnis in /usr/local/bin/remote verlinken. Muss man die Pfade unterhalb von /usr/local/bin auch in der PATH Variable angeben oder werden die durch /usr/local/bin includiert ?
Am einfachsten für die Clients ist wohl aber ein Repo. Dafür ist nur Quelleintrag nötig und der Rest läuft dann von selbst. Das Repo aufsetzen ist vllt mehr Aufwand, aber den hat man ja nur einmal. Der Dep-Bau kann mit Scriupten oder checkinstall ( gibs das noch ) umgesetzt werden.
- cosinus
- Beiträge: 4227
- Registriert: 08.02.2016 13:44:11
- Lizenz eigener Beiträge: GNU General Public License
- Wohnort: Bremen
Re: Skripte als GIT HUb oder als DEB* aus eigenem Repo ?
Ist das denn echt soviel traffic? Das ist doch eh im internen Netz und dann nur 30 Clients.
Re: Skripte als GIT HUb oder als DEB* aus eigenem Repo ?
Nein. Der Traffic entsteht maximal bei jedem graphischen Login einmal. Und wenn da 100MB zu übertragen wären, ist das eine Sekunde Traffic über GBit, bei 30 Clients also 30 Sekunden Traffic pro Tag. Davon abgesehen, daß es eher deutlich weniger als 100MB sein dürften.