小编Syl*_*RAS的帖子

部署作业后如何获取作业中的环境 URL?

我在 gitlab-CI 中运行 end2end 测试,请参阅https://docs.cypress.io/guides/guides/continuous-integration.html

我在部署我的应用程序后运行它。

它运行良好,但我想更改基本 url,以便针对我的 prod 或我的暂存环境运行它。可以通过传递给测试的环境变量来实现。

我不想为每个环境编写测试作业,然后我想通过 env var 获取环境 URL,但$CI_ENVIRONMENT_URL仅在部署作业中可用,而不在下一个作业中可用。

deploy-prod:
  stage: deploy
  script:
    - some commands
  environment:
    name: prod
    url: http://myprod.com
  only:
    - master

deploy-staging:
  stage: deploy
  script:
    - some other commands
  environment:
    name: staging
    url: http://mystaging.com
  only:
    - staging

test:
  stage: after-deploy
  script:
    - CYPRESS_baseUrl=$CI_ENVIRONMENT_URL cypress run
Run Code Online (Sandbox Code Playgroud)

我希望http://mystaging.comhttp://myprod.com$CI_ENVIRONMENT_URL相等,具体取决于之前的部署作业是否已运行。但它是空的,似乎只在部署作业中可用。$CI_ENVIRONMENT_URL

是否可以将变量从工作传递到下一份工作?

gitlab gitlab-ci

3
推荐指数
1
解决办法
1221
查看次数

标签 统计

gitlab ×1

gitlab-ci ×1