作者:手机用户2602930645 | 来源:互联网 | 2023-02-03 08:18
我目前在GitLab和Heroku中有我的项目。我想做的是,一旦我请求与功能分支的合并请求(我们称之为crud-on-spaghetti
),我想在该分支上自动运行测试(npm test
基本上是使用Mocha / Chai),在测试成功后,将其crud-on-spaghetti
与master
,将其提交并推送至origin/master
(在GitLab上是远程的),然后提交git push heroku master
(基本上将其推送至存储我的应用程序的Heroku中的master分支)。我已经阅读了有关GitLab CI的几篇文章,我认为这更适合我(而不是Heroku CI,因为我没有DEV和PROD实例)。
因此,到目前为止,我手动执行此操作。这是我的.gitlab-ci.yml
文件(尚未提交/推送):
stages:
- test
- deploy
test_for_illegal_bugs:
stage: test
script:
- npm test
deploy_to_dev:
stage: deploy
only:
- origin master
script:
- git commit
- git push origin master
- git pull heroku master --rebase
- git push heroku master
因此,我的问题是:.gitlab-ci.yml
为了使所有这些“操作”(上图)自动化,我到底需要写些什么?
PS。还有另一个(理论上的)后续问题:GitLab-CI Runner是如何触发的?例如,如果我希望它在与master合并请求时触发,是否可以使用only: ...
in来做到这一点.gitlab-ci.yml
?