运行 bitbucket 管道推送后部署服务器上的一组命令?

Run a set of command on deployment server after bitbucket pipeline push?

我已经设置了 bitbucket 管道,以便在进行提交时将更新推送到临时服务器上。为此,我正在使用 git ftp

在下一步中,我需要 运行 部署(登台)服务器上的各种命令,以便 运行 应用程序在推送后正常运行。

例如:

  1. composer install

  2. php artisan db:seed

  3. php artisan migrate

..等等

如果您的登台服务器位于像 AWS 这样的云服务上,那么您可以通过使用 boto 的 python-脚本来使用 AWS CodeDeploy。或者,如果您使用其他东西,无论是什么等价物。 https://confluence.atlassian.com/bitbucket/build-test-and-deploy-with-pipelines-792496469.html 的部署指南有更多相关详细信息。

如果您的服务器是本地服务器(并且基于 UNIX),您可以使用 ssh 密钥对在服务器上执行命令,例如:

ssh -i xyz.pem user1@server1 'command -args'
ssh -i xyz.pem user1@server1 'command -args'

您可以尝试通过 ssh 向 运行 一个 shell 脚本添加一个步骤。

$ ssh user@host.example "ls -la"

在你的情况下,

$ ssh user@host.example "php artisan db:seed"

您可以在此处找到 运行 的更多方法: How to use SSH to run a shell script on a remote machine?

关于作曲步骤,您可以在收据中添加:

curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer

composer install --no-interaction --no-progress --prefer-dist