首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Puppet在XL Deploy UI中复制现有的overthere.SshHost文件?

如何使用Puppet在XL Deploy UI中复制现有的overthere.SshHost文件?
EN

Stack Overflow用户
提问于 2020-09-15 21:53:55
回答 1查看 44关注 0票数 0

我公司的基础架构团队在XL-Deploy UI中的'Infrastructure‘下为我们提供了示例overthere.SshHost,它有一个预定义的私钥文件和密码短语,不会与我们共享。

我们被要求在UI中手动复制这个文件,重命名它,并为我们的应用程序创建基础设施条目。

我如何用puppet来实现这一点呢?

假设示例文件位于:Infrastructure/Project1/COMMONS/Template_SshHost下,我需要在以下位置创建一个overthere.SshHost

Infrastructure/Project1/UAT/Uat_SshHost

通过复制示例文件执行Infrastructure/Project1/PREPROD/Preprod_SshHost

提前感谢!

EN

回答 1

Stack Overflow用户

发布于 2020-09-15 22:39:00

您可以使用其source属性指定原始文件路径的File资源,将目标文件与可通过本地文件系统访问的其他文件同步。您可以通过各种方式生成修改后的副本,例如通过应用一个或多个File_line资源(来自标准库)或通过Exec资源应用适当的脚本。

但如果你走了那条路,你必须要么

  • 接受目标文件将在每次运行傀儡时重新同步,或者
  • File资源的replace属性设置为false,在这种情况下,对原始文件的更改将不会传播到自定义副本中。

后者可能是大多数人更容易接受的选择。它的文件复制部分可能如下所示:

代码语言:javascript
复制
$project_dir = '/path/to/Infrastructure/Project1'

file { "${project_dir}/UAT/Uat_SshHost/overthere.SshHost":
  ensure  => 'file',
  source  => "${project_dir}/COMMONS/Template_SshHost/overthere.SshHost",
  replace => false,
}

但是您可能需要考虑为目标文件编写一个自定义类型和提供程序。这将允许您合并来自原始模板的更改,而无需在每次运行时重新同步文件,并且它将为您提供更多关于需要应用的自定义的灵活性。它还将为您在清单中使用提供一个更简单的界面,这可以使管理这些清单变得更容易。但是,当然,这被编写和维护自定义类型和提供程序的成本所抵消。只有你才能确定这是否是一种值得的权衡。

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

https://stackoverflow.com/questions/63903433

复制
相关文章

相似问题

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