由于磁盘空间的限制,我想在几个小时内使我的工件过期.Gitlab-CI通过定义时间来支持这一点expire_in.
这非常有效,但我有一个手动部署步骤(单击按钮开始部署).部署基本上将webroot rsyncs到服务器.问题是工件何时到期(在此示例中为3小时后).如果您点击手动部署按钮,将抛出错误,因为webroot工件不再存在.之前的步骤需要在部署之前重建.所有这些都是完全可以理解的,但是必须通读错误日志以找出部署失败的原因是不方便的.
我想禁用手动步骤(使按钮不可点击),当它依赖的工件不再可用时.有没有选择来实现这个目标?
gitlab-ci.yaml
stages:
- build frontend
- build backend
- deploy
before_script:
- eval $(ssh-agent -s)
- ssh-add <(echo "$SSH_PRIVATE_KEY")
- mkdir -p ~/.ssh
- echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config
npm build:
stage: build frontend
image: node:6
script:
- cd build
- yarn install
- npm run build:prod
artifacts:
paths:
- profile/
expire_in: 1 hour
drupal build:
stage: build backend
image: drupaldocker/drush:8
dependencies:
- npm build
script:
- sudo apt-get update …Run Code Online (Sandbox Code Playgroud)