GOOGLE ADS

среда, 4 мая 2022 г.

Основные серверы в капистрано

У меня есть задача в capistrano, в которой я хочу, чтобы запускалась только одна строка, только если сервер помечен как основной. Есть ли переменная или метод, на который я могу ссылаться внутри задачи? 'начальный?' или «основной» не работает.

Я также пробовал что-то вроде следующего:

after "deploy", "task1"
after "deploy", "task2"
after "deploy", "task3"
task:task1,:roles =>:app do
*code*
end
task:task2,:roles =>:app,:only => {:primary => true} do
*code for just primary server*
end
task:task3,:roles =>:app do
*more code*
end

Но даже это не работает (все три задачи выполняются на каждом сервере).

Я работаю над этим несколько дней, и мне не везет с моими поисками. Мысли?


Решение проблемы

Я решил проблему, но это было не красиво. Я обнаружил, что вам нужно использовать «primary => true» для каждой задачи. Глядя на код, кажется, что capistrano генерирует список серверов, на которых будет выполняться задача, до запуска задачи.

Комментариев нет:

Отправить комментарий

Laravel Datatable addColumn returns ID of one record only

Я пытаюсь использовать Yajra Datatable для интеграции DataTable на свой веб-сайт. Я смог отобразить таблицу, но столкнулся с проблемой. В по...