首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Gitlab CI/CD的审查阶段访问postgresql

在Gitlab CI/CD的审查阶段访问postgresql
EN

Stack Overflow用户
提问于 2021-03-10 02:40:23
回答 1查看 75关注 0票数 3

在Gitlab CI/CD过程中,如何在审核阶段(对于审核应用程序)将数据导入postgresql服务器?

我目前正在使用Gitlab CI/CD部署到AWS。Postgresql在整个构建阶段都使用。

在构建阶段,信息成功地从另一个应用程序导入到postgresql。然后将数据作为SQL文件转储到工件(在两个位置)。

代码语言:javascript
复制
artifacts:
    paths:
      - postgres_backup.sql
      - scripts/postgres/postgres_backup.sql
    expire_in: 1 day

构建工件即被创建。但是,它们在review - autodeploy - stage中不可用。审查阶段基本上是:

代码语言:javascript
复制
review:
  extends: .auto-deploy
  stage: review
  before_script:
    - echo "Supposedly, this helps to carry over artifacts." 

神器不在那里。理想情况下,我希望将SQL备份推送到数据库,但1)工件不可用,2) psql命令不可用(或apt)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-03-10 03:04:38

看一下.auto-deploy作业(它可能来自included job this too)。如果.auto-deploy作业具有dependencies关键字,则它正在影响您的工件。

默认情况下,当一个作业上传工件时,所有后续阶段的作业都会自动下载该工件。这可以在各个作业上使用dependencies关键字进行控制。

例如,使用dependencies: []意味着此作业没有依赖项,因此不会下载任何工件。dependencies: ["npm install job"]意味着来自名为"npm install job“的作业的工件是唯一下载的工件,即使上传了来自其他作业的工件。

因此,如果您在.auto-deploy作业中看到dependencies关键字,则必须将其包含在review作业中。如果.auto-deploydependencies: [],则必须有dependencies: ["your-job-name"],其中作业名称是上载文件的作业。

如果.auto-deploydependencies关键字至少有一个作业名称,则必须复制作业,并将其包含在review作业中:

代码语言:javascript
复制
// .auto-deploy job:
.auto-deploy
  stage: deploy
  dependencies: ["job1", "job2"]
  script:
   - ...
代码语言:javascript
复制
// review job
review:
  stage: review
  dependencies: ["job1", "job2", "your-postgres-job"]
  script:
    - ...
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66552877

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档