/ / Úloha na začatie a aktualizáciu submodulu Capistrano - wordpress, git, capistrano, capistrano3

Capistrano Submodule Init a Update úloha - wordpress, git, capistrano, capistrano3

Používam Capistrano (ako súčasť jadro) nasadiť Wordpress.

Používam tiež program Composer na správu závislostí php a mojich doplnkov WordPress a svoju tému spravujem pomocou git ako submodul.

Mám všetko nastavené a úspešne som nasadil WordPress na môj vzdialený server.

Problém je v tom, že spravujem svoju vlastnú témugit submodulov. Nemôžem nájsť spôsob, ako iniciovať a aktualizovať submodul počas predvoleného nasadenia alebo ako samostatnú úlohu. Radšej by som ho mal mať ako samostatnú úlohu, pretože príliš často nemením podčiarknuté súbory projektu.

  1. našiel som tento obsah ktorá vytvára úlohu na vykonanie toho istého, ale jej použitie staršej verzie programu Capistrano.

  2. skúsil som tejto metóde ale zlyhá pri pokuse o vytvorenie symlinks vydania.

  3. Pokúsil som sa povoliť submodul s set :git_enable_submodules, 1 v mojom deploy.rb súbor, ale zdá sa, že chýba v Capistrano V3.x.

  4. ja našiel toto vlákno kde autor Capistrano vysvetľuje, prečo bola podpora submodulov odstránená a uverejnený ďalší komentátor tento obsah, ktorá mi dáva túto chybu Tasks: TOP => git:create_release => git:update => git:clone.

Čo robia iní ľudia, aby umožnili jednoduché nasadenie s programom Capistrano, ktoré zahŕňa submodul git?

odpovede:

1 pre odpoveď č. 1

Tiež používam gitový submodul v capistrano 2, ktorý som použil:

set :git_enable_submodules, 1

pracoval prefctly.

Keď som sa presťahoval do Capistrano 3.x, začal som používať:

namespace :git do
desc "Copy repo to releases"
task create_release: :"git:update" do
on roles(:all) do
with fetch(:git_environmental_variables) do
within repo_path do
execute :git, :clone, "-b", fetch(:branch), "--recursive", ".", release_path
end
end
end
end
end

tiež funguje ako kúzlo.

viac podrobností tu:

https://github.com/capistrano/capistrano/blob/master/lib/capistrano/tasks/git.rake#L34 https://github.com/capistrano/capistrano/blob/master/lib/capistrano/tasks/git.rake#L56