java - 我如何在 Chef 的数据包中对 "source"进行一些身份验证?

标签 java deployment amazon-web-services chef-infra

这是链接:

https://github.com/opscode/java-quick-start/blob/master/data_bags/apps/dbapp.json#L17

在用于 Java WAR 部署的 Chef 数据包中,我们提供源 URL,该 URL 可能位于 S3 等上。我们还可以有哪些其他源?我们可以在这里进行身份验证吗?否则,将我的 WAR 上传到 S3、公开可用(是的,您应该有直接链接,但仍然如此!)并使用它似乎并不是一个很棒的主意。 如果我在 S3 上放置一些存储桶策略,我无法弄清楚如何在此 S3 存储桶策略上放置规则以允许访问特定 EC2 安全组的所有服务器。我不相信有这样的选项所有..

有什么想法可以解决吗?有没有其他方法可以使用 key 或其他东西来下载“源 war ”,就像使用 SCP 或类似的东西一样?如果没有别的办法了?

谢谢!

最佳答案

Any ideas how to solve it?

"application::java_webapp" recipe 末尾存储 WAR 文件的位置获取 WAR 文件的代码.

remote_file app['id'] do
  path "#{app['deploy_to']}/releases/#{app['war'][node.chef_environment]['checksum']}.war"
  source app['war'][node.chef_environment]['source']
  mode "0644"
  checksum app['war'][node.chef_environment]['checksum']
end

您可以将其替换为提供凭据的内容。

<小时/>

我找不到一个简洁的解决方案(例如 SCP 的“提供者”),但使用“execute”资源而不是“remote_file”应该可以完成这项工作。当然,您仍然存在安排运行菜谱的 Chef 客户端实例具有正确的 SSH key 或用户名/密码的问题。

关于java - 我如何在 Chef 的数据包中对 "source"进行一些身份验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12869126/

相关文章:

r - 在生产中部署 R 模型的选项

heroku - 在不使用heroku docker插件的情况下将docker部署到heroku

java - Elastic Beanstalk .ebextensions 在 WAR 中被忽略

java - 当我设置 "Optional<String> optional = null;"时,任何 ide 都会警告我吗

Java - 在 Jboss 中调度任务且无需 EJB

java - 自定义 ListView onitemclicklistener 不工作

asp.net-mvc - 在 Azure Web 服务发布期间预编译

amazon-web-services - 应用程序负载均衡器在弹性beantalk和kubernetes之间分配

amazon-web-services - 如果节点数量达到阈值,是否可以使用 Kubernetes Cluster Autoscaler 来扩展节点?

java - 如何在 Java 中播放 3gp 文件?