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



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

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

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

artifacts:
paths:
- postgres_backup.sql
- scripts/postgres/postgres_backup.sql
expire_in: 1 day

创建构建构件。但是,它们在审查-自动部署阶段不可用。评审阶段基本上是:

review:
extends: .auto-deploy
stage: review
before_script:
- echo "Supposedly, this helps to carry over artifacts." 

工件不在那里。理想情况下,我希望将SQL备份推到数据库,但是1)工件不可用,2)psql命令不可用(也不合适)。

看一下.auto-deploy作业(它也可能来自这个包含的作业)。如果.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作业中:

// .auto-deploy job:
.auto-deploy
stage: deploy
dependencies: ["job1", "job2"]
script:
- ...
// review job
review:
stage: review
dependencies: ["job1", "job2", "your-postgres-job"]
script:
- ...

最新更新