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

时间:2017-10-14 12:33:31

标签: bitbucket bitbucket-pipelines

我已经设置了bitbucket管道来在提交时推送登台服务器上的更新。我正在使用git ftp

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

例如:

  1. composer install

  2. php artisan db:seed

  3. php artisan migrate

  4. ..等等。

2 个答案:

答案 0 :(得分:4)

您可以尝试通过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

答案 1 :(得分:2)

如果您的登台服务器位于像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'