我正在学习如何设置管道。目前,除了 1 个小部分外,我的管道都在工作。
我想要的是,对于每个合并请求,除了“部署主”部分之外的每个部分都运行。这是目前工作。但是当一切都OK并且我们“合并到master”之后,然后我想“部署到master”部分来运行。
这是可行的,但现在的问题是 GIT 没有“文件”可以使用,因为“构建阶段”仅在合并请求时运行,因此“部署到主控”部分中不存在文件。
>谁能告诉我如何解决这个问题?我当前的代码如下:
stages:
- build
- test
- deploy
build project:
stage: build
image: node:11
only:
- merge_requests
script:
- npm install --progress=false
- npm run build
artifacts:
paths:
- ./dist
test build:
stage: test
image: alpine
only:
- merge_requests
script:
- cd dist
- grep -q "<title>my website</title>" index.html
deploy master:
stage: deploy
only:
refs:
- master
before_script:
- do something
script:
- do something
正如所说,现在的问题是:
在合并时我们运行:
Build project
Test build
完全没问题。
在合并到 master 时,我们只运行:
Deploy to master
虽然我们应该跑
Build project
Test build (optional but not manditory I recon)
Deploy to master