小编dbr*_*ans的帖子

Gitlab-ci:如何在工件过期时禁用手动步骤?

由于磁盘空间的限制,我想在几个小时内使我的工件过期.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)

gitlab gitlab-ci

6
推荐指数
1
解决办法
724
查看次数

标签 统计

gitlab ×1

gitlab-ci ×1