Czasami pracuję z Codeigniterem, a po zakończeniu pracy nad lokalną witryną muszę przeprowadzić migrację plików na serwer. Wszystkie pliki w folderze /config/
należy zmienić, aby pasowały do ustawień serwera. To nie jest w porządku, aby dokonać pełnego zatwierdzenia dla tych zmian, czy po prostu sprawię, że Git całkowicie zignoruje te pliki, czy jest jakiś sposób śledzenia tych zmian i zastosowania ich z Git we właściwym momencie?Jaki jest właściwy sposób na zachowanie "wersji dla serwera" - z tylko zmianami plików konfiguracyjnych w Git?
Odpowiedz
Można zachować wersjami:
- dwa „pliki wartość Config”, z odpowiednimi wartościami dla każdego środowiska
- plik konfiguracyjny szablonu, o wartości zastępczego w nim (na przykład
@@[email protected]@
) - skrypt, który może wygenerować rzeczywisty plik konfiguracyjny w zależności od bieżącego środowiska
- a content filter driver, który przy kasie uruchomi skrypt w celu wygenerowania platformy plik konfiguracyjny ht.
Uwaga: zakłada, że plik konfiguracyjny szablon ma rozpoznawalną zawartość (filtr nie ma nazwy lub ścieżkę do pliku). Zobacz "Git equivalent of subversion's $URL$
keyword expansion", aby uzyskać więcej informacji na temat ograniczenia sterownika filtra treści git).
To zależy od Twoich potrzeb. W mojej firmie stosujemy inne podejście. stworzyliśmy kilka środowisk (gdzie gwiazdka to wewnętrzna nazwa projektu):..
- devel - strona działa w domenie ** local.com *
- testu - bieg witryny w domenie test *. company.com
- produkcja beta * - - company.com
- beta.. co drugi domeny.
Na podstawie nazwy domeny automatycznie przełączamy konfiguracje. plik Basicly config wygląda następująco:
<?php
return array(
'_env' => array(
'devel' => array(
// config for devel
),
'production' => array(
// config for production
)
)
);
?>
niektórych ram (AFAIR Zend) ustawić nazwę środowiska Virtual Host config (lub .htaccess). Powinieneś spojrzeć na: zend framework auto switch production staging test .. etc
Czy spojrzałeś na dokumentację CI? Jest o tym section.
Utwórz dwa foldery w folderze config
. Jedna nazywa się development
, a druga to production
. Teraz skopiuj plik config.php, database.php itp. Do każdego z tych folderów. Teraz, gdy jesteś na serwerze produkcyjnym, CodeIgniter najpierw sprawdzi folder production
dla plików. Jeśli go nie ma, używa domyślnego pliku w folderze config
. A jeśli jesteś w środowisku programistycznym, CodeIgniter najpierw sprawdzi folder development
.
Jeśli chcesz zachować plik konfiguracyjny identyczny ze środowiskiem produkcyjnym i programistycznym, pozostaw go w folderze config
.
Jeśli chcesz ustawić środowisko następnie dodaj następujący kod w pliku .htaccess:
#This code for Development Environment
SetEnv CI_ENV development
i
#This code for Production Environment
SetEnv CI_ENV production
- 1. Jaki jest "właściwy" sposób usuwania plików z migawki ClearCase?
- 2. "Właściwy" sposób na ciągnięcie git "gałęzi produkcji" do serwera produkcyjnego
- 3. Najlepszy sposób przechowywania plików konfiguracyjnych w SVN?
- 4. Jaki jest właściwy sposób przekierowania?
- 5. Jaki jest właściwy sposób korzystania z PushSharp?
- 6. Jaki jest właściwy/właściwy sposób na sprawdzenie, czy obiekt jest obiektem jQuery w javascript?
- 7. jaki jest właściwy sposób korzystania z scala.io.Source?
- 8. Jaki jest właściwy sposób liczenia w Railsach?
- 9. Jaki jest właściwy sposób na oddzielenie serwera zasobów i serwera autoryzacji?
- 10. Jaki jest właściwy sposób na tworzenie dat w Javie?
- 11. Jaki jest właściwy sposób na zorientowanie na obiekt programu Android?
- 12. Jaki jest właściwy sposób załadowania ListBox?
- 13. Jaki jest właściwy sposób użycia kolby z zeromq w produkcji?
- 14. Jaki jest właściwy sposób na pozorowanie funkcji pustych w RhinoMocks?
- 15. Jaki jest właściwy sposób obsługi ciągów char *?
- 16. Wiele plików konfiguracyjnych z Python ConfigParser
- 17. Jaki jest właściwy sposób dołączania nagłówków Qt?
- 18. Jaki jest właściwy sposób testowania wydajności NFS?
- 19. Jaki jest właściwy sposób przechowywania nazwy pliku w formacie XML?
- 20. Jaki jest właściwy sposób rozkładania wagi dla Adama Optimizer
- 21. Jaki jest najlepszy sposób przechowywania zmiennych konfiguracyjnych w PHP?
- 22. Jaki jest właściwy sposób określenia lokalizacji aplikacji?
- 23. Jaki jest właściwy sposób sprawdzania typu obiektu dla obiektu Generic?
- 24. Jaki jest właściwy sposób inicjowania QList?
- 25. Jaki jest właściwy sposób odłączania kontrolera MediaController?
- 26. Właściwy sposób używania wersji i kamieni milowych
- 27. jaki jest właściwy, nie deprymujący sposób na obudzenie urządzenia?
- 28. Jaki jest właściwy sposób korzystania z PreparedStatementCreator w Spring JDBC?
- 29. Jaki jest właściwy sposób zarządzania przydzieloną pamięcią w obcym języku?
- 30. Czy złe jest umieszczanie plików właściwości/plików konfiguracyjnych w słoikach?
Można chyba napisać after_deploy hak git że to zrobi? – lenswipe