2009-10-08 7 views
31

Zanurzyłem swój palec w technologie tworzenia stron internetowych dla zabawy (tak, powinienem wydostać się więcej) i jestem nieco zszokowany brakiem wyraźnego wsparcia dla inscenizacji produkcji (tj. Tworzenie, testowanie, wydajność i środowisko produkcyjne). W rzeczywistości wsparcie nie jest słowem; Systemy zarządzania treścią wydają się aktywnie przeciwdziałać wysiłkom, aby umożliwić czyste etapowanie.W jaki sposób odbywają się etapy produkcji systemu zarządzania treścią?

Obecnie używam Drupala. Bardzo trudno było mi znaleźć sposób, w jaki społeczność rozwiązuje ten problem. Większość postów, jakie widziałem, poleca odtworzenie kroków podjętych w rozwoju systemu produkcyjnego (przeczytanie tego skróciło nieco moje życie). Słyszałem również o przesyłaniu danych produkcyjnych do programistów, aby mogli dodawać kolejne funkcje. To nie może być droga, co jeśli klient nie chce, abyś ściągnął swoje dane do swojego środowiska programistycznego?

Więc w końcu moje pytanie:

Jak masz problemy zarządzania realnym świecie pomostowe produkcyjna CMS?

Pochodzę z tła, w którym popychanie do produkcji jest jak wysyłanie ludzi na księżyc, więc może potrzebuję trochę się zrelaksować. Jednak nadal jestem zainteresowany odpowiedziami, które dotyczą kontroli źródła, pozwalają na wycofywanie produkcji i testowanie.

+3

+1, aby zrekompensować skrócony okres użytkowania. To też mnie zszokowało. – iftheshoefritz

Odpowiedz

10

Odpowiedziałem na question na strategie wdrażania DB.

Istnieje również question przy wdrażaniu kodu.

Gdzie pracuję, pracujemy nad dość dużym wdrożeniem Drupala. Z grubsza mamy następującą konfigurację.

Wszyscy deweloperzy mają lokalną piaskownicę (Drupal + DB). Kod commit do gałęzi, która jest wspólna dla wszystkich innych programistów (jest nas około 15). Obejmuje to zmiany konfiguracji, które są wykonywane przez funkcje aktualizacji.

Kiedy programiści wykonują svn w górę, uruchamiają również update.php w celu wykonania lokalnie zmian konfiguracji.

Mamy system testowania sprintu, który działa najprostrze i może być używany do testowania użytkownika.

Pod koniec sprintu (używamy scrum), łączymy gałąź w bagażnik i przeprowadzamy testy na tym.

Następnie oznaczamy to jako wydanie i wdrażamy na żywo (przy użyciu Capistrano), na koniec uruchamiamy update.php na żywo, aby zastosować zmiany konfiguracji do działania.

Wszelkie poprawki awaryjne rozmieszczone się od pnia żyć jako uwolnienie dot 7,1 itd

Jeśli chcesz otrzymać więcej szczegółów prosimy komentarza.

+0

+1 za linki. Lubię korzystać z modułów do aktualizacji. Czy jest coś, co można poprawić? – reccles

+0

Twoja konfiguracja rozwoju i instalacji jest naprawdę fajna. Czy masz link lub artykuł na temat tego, jak to wszystko działa razem? Capistrano, najprostszy, itp? Użyłeś tempomatu? Wskazówki do ciekawych artykułów będą miłe. – Pasta

+0

@Pasta Myślę, że możesz uzyskać tutaj ogólny opis http://www.archive.org/details/TransformingTheEconomistOnlineusingDrupal –

2

Obecnie używam Drupala. Bardzo trudno było mi znaleźć sposób, w jaki społeczność rozwiązuje ten problem.

To jedna ze słabości Drupala; Naprawdę nie radzi sobie z tym właściwie. Jest to szczególnie trudne do rozwiązania, ponieważ duża część konfiguracji Drupala znajduje się w bazie danych.

+1

Czy znasz lepszy CMS? Czy mogę wrócić do "roll your own". – reccles

+4

Wolałbym nie wchodzić na to terytorium. Z mojego doświadczenia wynika, że ​​jest to słabość z większością cms'ów open source. Osobiście jestem bardzo dobrym facetem, ale jest wiele powodów, dla których to * nie * jest najlepszym rozwiązaniem. Jeśli patrzysz na zewnątrz cms, Railsy mają bardzo dobry przebieg wdrożenia. To nie php, ale możesz przenieść te pojęcia. – troelskn

+0

@troelskn dzięki, sprawdzę szyn. Jak już wspomniałem w moim poście, chodzi o to, żeby i tak pierdzieć :) – reccles

7

Po kilkutygodniowym okresie nauki nad uczeniem się Drupala "zbyt duża konfiguracja jest przechowywana w DB" jest bardzo niepokojąca, jeśli budujesz stronę o dowolnej złożoności.

Zapoznaj się z pracą, którą wykonuje Development Seed w celu obejścia tego problemu. Kierują one rozwojem modułów Context, Features i Spaces, które współpracują ze sobą w celu przechowywania danych konfiguracyjnych w modułach (poza bazą danych), dzięki czemu mogą być wersjonowane z kodem.

+1

świetna odpowiedź, developmentseed jest jedną z tych uroczych firm;) – sepehr

+0

+1 flamingLogos za drogowskaz do nasion rozwojowych i Sepehr Lajevardi za pozytywne opinie na ich temat. – therobyouknow

Powiązane problemy