Frage

Ich und mein team starten zu bauen up ein paar wiederverwendbare Skripte.Sie sind re-nutzbare innerhalb unserer Organisationen nur, wie Sie arbeiten, mit proprietry apps und unserer speziellen server-Umgebung.Also nicht wirklich geeignet für rubyforge oder github, etc.

Meine Frage ist, was ist die beste Praxis dafür sind wir alle mit den neuesten und besten Skripte für alle Anwender?Wir ziemlich viel laufen, diese Skripte auf einem server, kann aber erweitert werden müssen, um andere.

Sollten wir bündeln diese in gem(s), und starten Sie eine private Edelstein-server?

Oder etwas einfacheres wie eine gemeinsame, shareable lib-Verzeichnis.Vielleicht mit einem Skript zum herunterladen/aktualisieren von unserem SCM?

Andere Ideen?

Dank....

War es hilfreich?

Lösung

Dies hängt von einigen Faktoren, wie wie viele Personen wollen, ändern Sie den code (nur Ihr team oder jemand anderes auch), oder wie viel Geld Sie dafür haben?

Persönlich würde ich ein build erstellen+ - gem-server, wo Sie können laden Sie die Skripte mit einigen versioning system (wie git oder svn, hängt davon ab, wie viele Leute an dem Projekt arbeiten), und dann erstellen Sie einen cron-job erstellt, die automatisch genereate die Edelsteine aus den Quellen, die generische Intervalle und speichern diese als unterschiedliche Versionen.Auf diese Weise können Sie sicher sein, dass Sie immer eine authorative-server, der speichert Ihre Anwendungen Edelsteine, und Sie können jederzeit eine frühere version, wenn etwas kaputt geht.Ihr Skript könnte erstellen Sie separate gem-version Namen, wie "appserv-edge" oder "appserv-stabil"

Vielleicht möchten Sie auch Auschecken github ' s closed-source-Optionen zu, wenn Sie das Geld haben, um sich das leisten.Ich weiß allerdings nicht, ob Sie haben gem Bau-und hosting-Einrichtungen für nicht-open-source-Programme.

Andere Tipps

Ich habe eine private gemserver und es ist kinderleicht.Die einzige knifflige bit ist die Entscheidung, wie Sie möchten, dass Ihre Benutzer hochladen Edelsteine.Persönlich, ich benutze ein PHP-upload-Formular und müssen es überprüfen, um sicherzustellen, dass es nicht masking vorhandene Edelsteine.

In meinem Büro verwenden wir ein bisschen von einem hybriden Ansatz für einige unserer gemeinsamen Skripte und Bibliotheken. Wir haben sie bündeln alle in zu einem Juwel, sondern als ein Juwel-Server verwenden wir halten sie in der Quellcodeverwaltung, und dann den Edelstein bauen (mit newgem) und installieren Sie es lokal wie nötig.

Der Nachteil dieses Ansatzes ist, dass es zwei Befehle statt nimmt man den Edelstein zu installieren, aber dies weitgehend in qa und Produktionsumgebungen gemildert, da wir Capistrano für die Bereitstellung verwenden.

Die upsides sind, dass es tot ist einfach, und in der Entwicklung gibt es eine sehr kurze Bearbeitungs / build / Zyklus bereitstellen, wenn Sie mit etwas arbeiten, die Änderungen an der gem erfordert. Ich bin derzeit eine Menge gemeinsamen Funktionalität in das shared Juwel ziehen, so dass ich wirklich diesen Aspekt zu schätzen.

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