【问题标题】:How to transfer application for deployment to the node with Chef?如何使用 Chef 将部署应用程序转移到节点?
【发布时间】:2015-09-25 08:48:52
【问题描述】:

我想从工作站在 Chef 节点上部署最近构建的应用程序。我可以按如下方式执行我的厨师食谱:

knife ssh {{node_address}} 'sudo chef-client' --manual-list --ssh-user {{user}} --ssh-password '{{password}}'

但是传输我的应用程序以进行部署的最佳方式是什么(压缩文件,超过 300 mb)?

【问题讨论】:

  • @Jordan 不确定。 bash 资源为节点上存在的单个配置项定义了所需的状态,但该文件在我的工作站上。你能澄清一下这有什么帮助吗?
  • 该页面上的最佳答案描述了如何将文件从工作站复制到节点;我链接到的答案描述了如何解压缩它。抱歉,如果不清楚。

标签: chef-infra chef-recipe


【解决方案1】:

通常,您尝试部署的应用程序应托管在可从节点访问的位置。您希望它是一个一致且可靠的地方,因为每次运行 chef 时都希望确保您正在部署的资源处于所需状态。根据应用程序的类型,有很多方法可以实现这一点。示例包括将其放入 git 存储库、包管理器 (apt/yum)、工件服务器,甚至像 http 服务器或 amazon s3 上的 zip 一样简单。

git 的一种常见方法是使用 chef 内置的 deploy resource

deploy 'private_repo' do
  repo 'git@github.com:acctname/private-repo.git'
  deploy_to '/tmp/private_code' 
  action :deploy
end

另一种常见的方法是ark cookbook,它可以轻松管理 tar/zipped 资源,甚至是 artifact cookbook,它可以从 nexus 或 s3 部署工件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-11-26
    • 1970-01-01
    • 2019-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-08
    相关资源
    最近更新 更多