首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将主要/次要/修补程序自动逻辑应用于SHA固定依赖项并进行更新

将主要/次要/修补程序自动逻辑应用于SHA固定依赖项并进行更新
EN

Stack Overflow用户
提问于 2022-05-29 16:06:35
回答 1查看 250关注 0票数 0

我正在使用GitHub存储库上的Renovate来保持依赖关系的更新。我想要自动修改补丁和小版本,但是我希望使用stabilityDays设置让小版本成熟几天。这似乎适用于此配置:

代码语言:javascript
复制
  "minor": {
    "automerge": true,
    "stabilityDays": 3,
    "prCreation": "not-pending"
  },
  "patch": {
    "automerge": true,
    "stabilityDays": 0
  },
  "major": {
    "automerge": false
  },  

我在回购中使用ossf/scorecard-action打开了安全代码扫描,使用“记分卡”,安全扫描发现了一些有用的缓解路径。其中一项建议是使用SHA摘要值来插入Docker依赖项,而不是版本号。

例如,

代码语言:javascript
复制
        uses: actions/checkout@v3

变成了

代码语言:javascript
复制
        uses: actions/checkout@d0651293c4a5a52e711f25b41b05b2212f385d28

感觉更安全所以我喜欢。但是现在更新后的PRs不再像以前那样自动更新了--bot给我留下了这样的信息:当我不使用SHA摘要时,PR会自动处理这个消息:

代码语言:javascript
复制
 Automerge: Disabled by config. Please merge this manually once you are satisfied.

在此之前,它会说:

代码语言:javascript
复制
 Automerge: Enabled.

我如何配置更新以支持更好的安全性和更少的噪音和较少的人工干预,同时不允许主要版本的自动化?

我认为

代码语言:javascript
复制
  "digest": {
    "automerge": true,
    "stabilityDays": 3,
    "prCreation": "not-pending"
  },

会为SHA摘要键所固定的依赖项打开automerge,但现在我认为主要的版本更改将自动完成,我不想这样做。

我已经仔细研究了文档和其他这样的帖子,但是没有办法解决这个问题。

我怎样才能拥有SHA钉扎的宁静和小型和补丁自动生成的方便?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-06-11 17:31:32

这个问题的答案是,当您使用摘要版本来锁定依赖项时,您可以配置更新以遵循您喜欢的主要/次要/修补程序自动逻辑。

诀窍是在依赖摘要版本之后使用注释。

因此,如果您不想自动更改主要版本,并且希望给小更新一个三天的稳定周期,并且希望快速自动更新补丁,那么在编写摘要的同时,您可以在您的renovate.json配置中使用这样的内容:

代码语言:javascript
复制
   "minor": {
    "automerge": true,
    "stabilityDays": 3,
    "prCreation": "not-pending"
  },
  "patch": {
    "automerge": true,
  },
  "major": {
    "automerge": false
  },
  "digest": {
    "automerge": true
  },

然后像这样使用tag=<version>注释命令,在其中我们使用摘要将actions/checkout@v3的verion固定在GitHub操作工作流中:

代码语言:javascript
复制
 - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2 

带有摘要引脚的tag注释的存在告诉Renovatebot尊重任何主要/次要/补丁自动逻辑,并使注释标记中的版本与摘要版本保持一致。

感谢Renovatebot讨论委员会上的@viceice为我指出了这个答案。对我来说效果很好。

您可以在https://github.com/renovatebot/renovate/blob/a9a81275bf1fa40a4ba986601ab9fefd13fc9d41/.github/workflows/build.yml#L57上看到这种语法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72425242

复制
相关文章

相似问题

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