SaltStack:根据对 SHASUM 文件的更改下载存档

Posted

技术标签:

【中文标题】SaltStack:根据对 SHASUM 文件的更改下载存档【英文标题】:SaltStack: Downloading archive based on changes to SHASUM file 【发布时间】:2017-06-01 21:26:08 【问题描述】:

我将我的构建上传到 S3 并有一个 latest 文件夹,其中始终包含最新的构建。除了构建之外,我还有一个 SHASUM 文件 SHASUM256.txt.asc,如下所示:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

c05c2e459aab92a490bbbb498c20a86433be23a1  server.tar.gz
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iF4EAREIAAYFAlja1qkACgkQb6kayJ97kRKmHgEArOhI8kWEBwddkSY0rmPvFjGh
WgYTK2BuPf3M0mL1n50BAJCj5cl6ZbOIfp5j+499xk/LLxDu1PcWDA+u8XhZ88Sf
=czUN
-----END PGP SIGNATURE-----

我试图让 Salt 在 SHASUM 更改的任何时候下载并提取存档,但它从不认为存档已更改。我找到的唯一解决方案是强制它始终下载并提取文件,但这违背了整个目的。

这是我目前使用的:

server-build:
  archive.extracted:
    - name: /opt/server
    - makedirs: True
    - source:  branch /latest/build/server.tar.gz
    - archive_format: tar
    - source_hash:  branch /latest/build/SHASUMS256.txt.asc
    - overwrite: True

告诉 Salt 仅根据对 SHASUM 文件的更改下载存档的正确方法是什么?我目前正在使用盐 2016.11.3(碳)。

【问题讨论】:

【参考方案1】:

所以,没有办法让它只在源哈希改变时下载文件,但你可以设置source_hash_update: True,如果哈希改变,新文件将被提取。

这应该使文件仅在哈希更新时才下载,但它可能仍会在其他时候被下载,我不确定。

【讨论】:

以上是关于SaltStack:根据对 SHASUM 文件的更改下载存档的主要内容,如果未能解决你的问题,请参考以下文章

网上分享文件如何科学校验?请看cksum或者shasum

SaltStack数据系统之GrainsPillar

使用 npm 安装电话间隙的 shasum 检查失败

-bash: shasum: command not found的解决方法

-bash: shasum: command not found的解决方法

-bash: shasum: command not found的解决方法