我成功地使用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
如何在测试通过后更改此文件以执行部署脚本?
答案 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,则可以使用部署阶段触发脚本来卷曲伪造部署挂钩。