Zawsze po prostu stworzony dla każdego zadania cap celu wdrożenia i stosować je w wierszu poleceń:
# deploy.rb
task :stage do
server 10.0.0.1 ...
end
> cap stage deploy
Można również zdefiniować dostosować zadania wewnątrz każdego zadania docelowego, takich jak wdrożyć tę robi porządki w inscenizacji, ale nie w produkcji.
Ponieważ te docelowe zadania docelowe rzadko są bardzo duże, nigdy nie widziałem czegoś takiego jak instalowanie rozszerzeń czapek dla wielu etapów, ale przypuszczam, że inne sytuacje mogą być inne.
Wydaje mi się, że produkcja powinna być oddzielona od innych środowisk, w przeciwnym razie istnieje ryzyko, że niewłaściwie zachodzące procesy w inscenizacji itp. Mogą wpłynąć na wydajność produkcji.
Czasami definiuję zadania nakładki dla wygody podczas przemieszczania, takie jak wysadzenie bazy danych i ponowne załadowanie jej z najnowszego zrzutu produkcji. Zadania te powinny sprawdzić cel wdrożenia za pomocą ustawionej zmiennej lub temu podobne i odmówić uruchomienia w celu produkcji jako ubezpieczenie na wypadek literówki późno w nocy.
To kuszące, aby wprowadzić wiele niestandardowych zachowań w pliku deploy.rb, ale odkryłem, że ma to tendencję do gryzienia i wymaga wiele wysiłku związanego z konserwacją, jak zmienia się środowisko lub zmiana capa.
Inną praktyką, którą widziałem w większych środowiskach, jest posiadanie konta powłoki z kasą, która śledzi gałąź stabilną, skonfigurowaną specjalnie do działania jako punkt kontrolny capistrano. Wchodzisz i uruchamiasz polecenia cap zamiast lokalnie. Pomoże to uniknąć problemów, w których plik deploy.rb lokalnego kasowania zawiera modyfikacje, których nie można użyć podczas wdrażania do produkcji. Jest to mniejszy problem z git vs svn, ale nadal trzeba uważać, aby zastanowić się, co lokalny plik deploy.rb znajduje się w momencie, gdy uruchamiają polecenia cap.
Heroku naprawdę czyni te rzeczy łatwymi w tych dniach, a EY i inni nie są daleko w tyle.
Przepraszamy, musiałem usunąć dwa hiperłącza do tych postów na blogu, aby opublikować pytanie. Każdy, kto chce dowiedzieć się czegoś więcej, może te elementy odszukać w Google bezpośrednio w postach. – trisignia
Dlaczego trzeba usunąć hiperłącza? –
Jestem nowym użytkownikiem tutaj, a StackOverflow nie pozwala mi jeszcze publikować hiperłączy w moich pytaniach. – trisignia