Entwicklerhandbuch/Repositorieverwaltung: Unterschied zwischen den Versionen
(→Benutzer dupload: Beschreibung über Sinn und Zweck dieses Benutzers) |
(→mini-dinstall: Vorschlag zum Aufbau des Repositories) |
||
Zeile 16: | Zeile 16: | ||
== mini-dinstall == | == mini-dinstall == | ||
Pfad wo das Repository auf dem dev-Server liegt: '''/home/deb.delixs.de''' | |||
=> '''Wollen wir mini-dinstall als root oder als seperater User laufen lassen?''' | |||
<source lang="properties"> | |||
$ cat /home/$USER/.mini-dinstall.conf | |||
# Adapted Colin's mini-dinstall.conf | |||
# Infos unter /usr/share/doc/dput | |||
# und http://debiananwenderhandbuch.de/mini-dinstall.html | |||
[DEFAULT] | |||
architectures = all, i386 | |||
archivedir = /home/deb.delixs.de/delixs/ | |||
use_dnotify = 0 | |||
verify_sigs = 0 | |||
# aktivieren, sobald key erzeugt ist | |||
#extra_keyrings = ~/.gnupg/pubring.gpg | |||
mail_on_success = 1 | |||
archive_style = simple-subdir | |||
poll_time = 10 | |||
mail_log_level = NONE | |||
generate_release = 1 | |||
release_description = delixs Packages | |||
# Releases: | |||
[aramec] | |||
[delixs1] | |||
[delixs1-testing] | |||
</source> | |||
== Benutzer dupload == | == Benutzer dupload == |
Version vom 10. Oktober 2009, 11:02 Uhr
Auf dieser Seite wird das Setup des dev-servers beschrieben. Möglicherweise gehört diese Seite ins trac!
Funktionsweise
Der Benutzer dupload hat über die sshd_config ein chroot unterhalb von $REPOSITORYROOT/mini-dinstall/incoming und darf nur sftp benutzen. Ein login ist ausschliesslich über einen ssh-key möglich.
incron überwacht das Repository auf eine .changes-Datei und stößt nach einem "IN_MODIFY,IN_CREATE" das Script mini-dinstall --batch aus. Die Pakete werden daraufhin einsortiert und die Releases signiert.
Aufbau des Repositories
- URL: deb.delixs.de
- delixs1 für lenny als Unterbau
- delixs2 für squeezy als Unterbau
Konfigurationen
Apache
mini-dinstall
Pfad wo das Repository auf dem dev-Server liegt: /home/deb.delixs.de
=> Wollen wir mini-dinstall als root oder als seperater User laufen lassen?
<source lang="properties"> $ cat /home/$USER/.mini-dinstall.conf
- Adapted Colin's mini-dinstall.conf
- Infos unter /usr/share/doc/dput
- und http://debiananwenderhandbuch.de/mini-dinstall.html
[DEFAULT] architectures = all, i386 archivedir = /home/deb.delixs.de/delixs/ use_dnotify = 0 verify_sigs = 0
- aktivieren, sobald key erzeugt ist
- extra_keyrings = ~/.gnupg/pubring.gpg
mail_on_success = 1 archive_style = simple-subdir poll_time = 10 mail_log_level = NONE generate_release = 1 release_description = delixs Packages
- Releases:
[aramec] [delixs1] [delixs1-testing] </source>
Benutzer dupload
Um nicht allen Entwicklern einen ssh-login auf dem dev-server geben zu müssen, legen wir den Benutzer dupload (debian-upload) ein, der im incoming Verzeichnis von mini-dinstall eingesperrt ist. Für ihn lassen wir ausschliesslich einen Zugang per ssh-key zu.
Sollte einmal der private-Teil verloren gehen, muss er bei allen Entwicklern ausgetauscht werden.
sftp-chroot
Der Benutzer dupload bekommt keine loginshell, er darf nur sftp zum Hoch/runterladen benutzen: <source lang="bash"> Subsystem sftp internal-sftp Match user dupload
ChrootDirectory $REPOSITORYROOT/mini-dinstall/incoming X11Forwarding no AllowTcpForwarding no ForceCommand internal-sftp
</source>
incron Setup
gpg-key
Zwei Möglichkeiten
- wir hinterlegen das Passwort auf der Platte im Klartext
- wir benutzen den gpg-agent, der es eine Weile im Speicher behält
Nachteil bei Möglichkeit 1: unsicher
Nachteil bei Möglichkeit 2: man muss mind. nach jedem Reboot den agent wieder mit dem PW füttern