【问题标题】:Handling software versions in Chef recipes处理 Chef 食谱中的软件版本
【发布时间】:2018-05-17 23:51:29
【问题描述】:

我是 Chef 的新手,我希望在下载和安装软件的配方中动态处理我们软件的每个版本的版本控制。

例如,我怎样才能下载我们软件的 2.17.0 版本,以及以下部署 2.18.0,而不必每周自己修改配方?

我认为如果在配方本身中访问节点的属性将允许我这样做吗?虽然我不确定这是厨师的方式还是做事还是最佳实践......

aws_s3_file "C:\\Users\\our_software_VERSION.exe do
    bucket 'awsbucket'
    remote_path 'software/our_software_VERSION.exe'
    region 'eu-west-1'
    aws_access_key *
    aws_secret_access_key creds *
    action :create_if_missing
end

【问题讨论】:

    标签: deployment chef-infra devops continuous-deployment


    【解决方案1】:

    是的,节点属性绝对是一个选项。 remote_path "software/our_software_#{node["myapp"]["version"]}.exe".

    您也可以根据情况使用数据包项,但在角色或环境中设置的属性可能是最好的。

    【讨论】: