Entwicklerhandbuch/Repositorieverwaltung

Aus Delixs
Version vom 10. Oktober 2009, 10:56 Uhr von ThorstenStrusch (Diskussion | Beiträge) (→‎Benutzer dupload: Beschreibung über Sinn und Zweck dieses Benutzers)
Zur Navigation springen Zur Suche springen

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

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

  1. wir hinterlegen das Passwort auf der Platte im Klartext
  2. 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