2017-10-14 26 views
0

J'ai pipeline bitbucket d'installation pour pousser les mises à jour sur le serveur de mise en scène lorsqu'une validation est faite. J'utilise git ftp pour cela.exécuter un ensemble de commandes sur le serveur de déploiement après pipeline bitbucket poussée?

à l'étape suivante que je dois exécuter diverses commandes sur le serveur de déploiement (de la mise en scène) pour exécuter l'application correctement après la poussée.

Par exemple:

  1. composer install

  2. php artisan db:seed

  3. php artisan migrate

.. et ainsi de suite.

Répondre

0

Si votre serveur de mise en scène est sur un Service Cloud AWS comme vous pouvez utiliser AWS CodeDeploy via un script python utilisant boto pour le même. Ou dans le cas où vous utilisez quelque chose d'autre, quel que soit l'équivalent qui serait. guides de déploiement à https://confluence.atlassian.com/bitbucket/build-test-and-deploy-with-pipelines-792496469.html a des détails plus pertinents.

Si votre serveur est un serveur sur site (et UNIX) vous pouvez utiliser une ssh paire de clés pour exécuter des commandes sur le serveur comme:

ssh -i xyz.pem [email protected] 'command -args' 
ssh -i xyz.pem [email protected] 'command -args' 
+0

Le serveur de stockage intermédiaire n'est pas dans AWS sur un VPS. L'exécution de la commande ssh semble être la bonne façon de procéder. – Sisir

1

Vous pouvez vous essayer d'ajouter une étape exécuter un script shell par ssh.

$ ssh [email protected] "ls -la"

dans votre cas,

$ ssh [email protected] "php artisan db:seed"

Vous pouvez trouver d'autres façons d'exécuter ici: How to use SSH to run a shell script on a remote machine?

Et en ce qui concerne l'étape du compositeur, vous pouvez ajouter dans votre receipe:

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

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