Frage

In unserem Projekt schreiben wir viele Anwendungsprotokolle (manchmal sind sie sehr nützlich sind) in tmp Ordnern .

In diesem Ordner haben wir Komponenten Verzeichnisse, wie zum Beispiel:

  • api
  • email2sms
  • scheduled_sending
  • Abrechnung
  • usw. Weniger als 10 Ordner, in Zusammenfassung.

Das Problem: neue Komponente des Ordners entstehen mit der Zeit - jede dieser Ordner beschreibbar sein muss,

.

So ist es Zeit für jeden Entwickler nimmt jeder dieser Ordner in ihren lokalen Umgebungen zu chmod, es braucht Zeit, jene Ordner in der Produktion chmod.

Wie dieses Problem gelöst werden kann? Wie dieser Prozess automatisiert werden kann? (Apache Ant-Task, SVN Eigenschaften, Anwendung Skript - die für die Aufgabe zuständig sein)

Umwelt: Entwicklungsumgebungen - Ubuntu, Windows-; Produktion - FreeBSD

War es hilfreich?

Lösung

Die schnelle und unsaubere Methode, die ich in den meisten Unternehmen für war ich arbeite verwendet habe, so etwas wie folgt aus:

  1. Setzen Sie den gesamten Code in einem Versionierungssystem (wie SVN oder so), so dass alle Entwickler eine einzige Quelle der Dateien haben. Sie tun offensichtlich schon. Hurra!
  2. in der Wurzel dieses Codes Stoßen, eine setup_permissions.sh Datei mit dem Namen, der alle lokalen Umgebung Sachen aktualisiert. Dies kann Berechtigungen umfassen, oder was auch immer Sie ausführen müssen.
  3. Jeden Morgen alle Programmierer tun svn update, die die Dateien aktualisiert, und auch die setup_permissions.sh.
  4. Sie versuchen, ihren Code auszuführen. Sehen Sie ein Problem. Sie laufen setup_permissions.sh.
  5. Alles ist gut in der Welt!

Wie für den Inhalt der setup_permissions.sh, könnte es so etwas wie:

#/bin/sh
TMP=/tmp

mkdir $TMP/api
mkdir $TMP/email2sms
mkdir $TMP/scheduled_sending
mkdir $TMP/billing
chmod 777 -r $TMP/api $TMP/email2sms $TMP/scheduled_sending $TMP/billing

Und fügen Sie alle mehr Befehle, die Sie denken, Sie brauchen.
(Oh, und verwenden Sie keine chmod 777 ... es ist eine schreckliche Idee. Genau dies sieht als Beispiel.)

Der Schlüssel zu diesem Ansatz ist Disziplin . Sie müssen Ihre Programmierer vertrauen auf die Disziplin haben, um die setup_permissions.sh zu laufen, wenn sie ihre lokalen Umgebungen aktualisieren. Das gleiche gilt für jeden, aktualisiert das Produktionssystem.

Sie müssen auch die Disziplin setup_permissions mit allen Änderungen, die Sie an die Verzeichnisstruktur, und was auch immer die Erlaubnis Änderung aktualisieren muss es - anstatt nur die Änderungen zu tun manuell auf Ihrem Computer, und es dabei zu belassen. (Und das gleiche gilt für alle anderen Entwickler, die Änderungen an der Verzeichnisstruktur.)

Andere Tipps

das ein (Programm / Komponente), die das Protokoll erstellt verantwortlich sein sollte die Log-Dateien beschreibbar zu jedem machen -. Verwenden mod = 777 (alle beschreibbar), wenn die Protokolle erstellt

Wenn Sie bereitstellen Prozess ein Installationsskript hat, tut auch, dass im Skript.

mkdir und chmod in einem einfachen Shell-Skript sollte ausreichend sein.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top