gpt4 book ai didi

postgresql - Gitlab CI/CD review阶段访问postgresql

转载 作者:行者123 更新时间:2023-12-04 15:03:37 24 4
gpt4 key购买 nike

如何在 Gitlab CI/CD 过程中的 Review 阶段(对于审查应用程序)将数据导入 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 命令不可用(也不 apt)。

最佳答案

查看 .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"] where作业名称是上传文件的作业。

如果 .auto-deploy 有一个 dependencies 关键字,它至少有一个作业名称,你必须复制这些作业,并将它们包含在你的 审查工作:

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

关于postgresql - Gitlab CI/CD review阶段访问postgresql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66552877/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com