如何在Gitalab CI上成功通过测试后,在digitalocean上部署laravel app

时间:2017-02-03 00:22:39

标签: laravel laravel-5 gitlab-ci gitlab-ci-runner

我成功地使用Gitlab Runner在digitaocean上运行了Gitlab CI上的laravel测试版本(在教程HOW TO: LARAVEL TESTING ON GITLAB CI WITH DOCKER的帮助下)

现在我想知道如何在成功测试后部署它。

这是我在staging env上的部署过程:

cd MY_PROJECT_ROOT_DIR
git reset --hard HEAD
git checkout master
git pull
composer install
composer update
php artisan migrate
php artisan db:seed

如何在测试完成后设法包含此部署?

我的GitLab Runner配置与此repo

上的文件相同

这是我的.gitlab-ci.yml文件的内容:

before_script:
  - bash .gitlab-ci.sh

variables:
  MYSQL_DATABASE: laravel
  MYSQL_ROOT_PASSWORD: secret

phpunit:php-laravel-env:mysql:
  image: woohuiren/php-laravel-env:latest
  services:
    - mysql:latest
  script:
    - php vendor/bin/phpunit --colors

如何在测试通过后更改此文件以执行部署脚本?

1 个答案:

答案 0 :(得分:0)

您需要使用"阶段"

基本上,您会更新当前的测试设置以包含一个阶段。

stages: 
  - test
  - deploy

phpunit:php-laravel-env:mysql:
  stage: test
  image: woohuiren/php-laravel-env:latest
  services: ...

deploy_my_site:
  stage: deploy
  ...

这些阶段将由GitLab按顺序运行,但如果有任何错误将停止。

如果您使用的是Forge,则可以使用部署阶段触发脚本来卷曲伪造部署挂钩。