Tôi đang sử dụng trình triển khai (https://deployer.org/docs/6.x/tasks) để triển khai ứng dụng laravel của tôi và nó hoạt động rất tốt. Tuy nhiên, tôi muốn làm cho nó đẹp hơn. Tại sao? Bởi vì tôi có các quy trình NodeJS nền đang chạy và ở mỗi lần triển khai, chúng cần được khởi động lại. Vì có 2 loại ứng dụng nên sau đây có trong ứng dụng của tôi triển khai.php
nhiệm vụ ('hậu triển khai', [
//'cron:cài đặt',
'pm2:khởi động lại:qworker',
'pm2: khởi động lại: tiếng vang',
'công cụ bộ đệm: xóa: opcache',
])->desc('Sau khi triển khai tác vụ');
Bây giờ để làm điều này, tôi phải thực hiện 2 nhiệm vụ trong công thức nấu ăn.php
desc('Khởi động lại QWorker');
nhiệm vụ(
'pm2:khởi động lại:qworker',
chức năng () {
$option = get('pm2_qworker_name');
run("khởi động lại pm2 ${option}");
}
)->onHosts(getenv('SSH_HOST_1'));
desc('Khởi động lại máy chủ Echo');
nhiệm vụ(
'pm2: khởi động lại: tiếng vang',
chức năng () {
$option = get('pm2_echo_name');
run("khởi động lại pm2 ${option}");
}
);
Nhưng tôi chỉ muốn giảm việc này xuống còn một tác vụ, nhưng vẫn có thể cho biết tôi muốn khởi động lại quá trình nào. Mục tiêu của tôi sẽ giống như thế này trong triển khai.php
tập tin
nhiệm vụ ('hậu triển khai', [
//'cron:cài đặt',
'pm2:khởi động lại --cái gì đó',
'pm2:khởi động lại --something2',
'công cụ bộ đệm: xóa: opcache',
])->desc('Sau khi triển khai tác vụ');
Bất kỳ ý tưởng làm thế nào để xác định điều này trong công thức nấu ăn.php
chỉ trong một nhiệm vụ?