仓库布局
Artifactory允许您为您的Puppet存储库定义任何布局。要根据您的自定义布局上传模块,您需要使用傀儡模块构建。
这将创建一个gz然后您可以将它上传到本地Puppet存储库中的任何路径。
远程傀儡存储库
一个远程存储库在Artifactory中定义的存储库用作在远程URL管理的存储库的缓存代理,例如https://forgeapi.puppetlabs.com/
.
构件(如tar.gz
从远程存储库请求的文件)会根据需要缓存。您可以从远程存储库缓存中删除下载的构件,但是,您不能手动将构件部署到远程Puppet存储库。
要定义一个远程存储库来代理一个远程Puppet资源,请执行以下步骤:
- 在政府模块,在存储库|存储库|远程,点击新的远程存储库.
- 在新建远程存储库对话框中,设置包类型来木偶,设置库的关键中指定远程存储库的URLURL字段如下所示。
- 点击保存&完成.
虚拟傀儡库
一个虚拟repository,在Artifactory中,聚合了来自两者的模块当地的而且远程存储库。
这允许您通过为虚拟存储库定义的单个URL访问本地托管的Puppet模块和来自远程代理的Puppet存储库的模块。
要定义虚拟Puppet存储库,请从政府模块,选择存储库|存储库|虚拟,设置包类型来傀儡,并选择底层本地和远程Puppet存储库,以包含在基本设置选项卡。
点击保存&完成创建存储库。
使用Puppet命令行
当通过Artifactory访问Puppet存储库时,存储库URL路径必须加上前缀api /木偶
.
这适用于所有Puppet命令,包括傀儡模块安装
而且傀儡模块搜索。
例如,如果您使用的是独立的Artifactory或作为本地服务,您将使用以下URL访问您的Puppet存储库:
http://localhost: 8081 / artifactory / api /木偶/ < REPO_KEY >
或者,如果你正在使用Artifactory Cloud, URL将是:
https:// < server name > .jfrog.io artifactory / api /木偶/ < REPO_KEY >
要使用Puppet命令行,您需要确保在客户机上安装了Puppet。
创建了Puppet存储库之后,您可以在Application Module | Artifactory | Artifacts树浏览器,并单击陷害我按钮以获取有用的代码片段。控件中更改Puppet存储库URLpuppet.conf
使用Puppet命令行工具解析模块。
替换默认存储库
要用指向Artifactory中的Puppet存储库的URL替换默认存储库,请在您的puppet.con
f文件:
注意:本例使用带有键的存储库木偶
.
[主要]module_repository = http://localhost: 8080 / artifactory / api /木偶傀儡
提示:我们建议将虚拟存储库URL作为存储库引用。这使您可以灵活地重新配置和聚合部署的Puppet模块的其他外部源和本地存储库。
注意,如果这样做,还可以使用——module_repository
参数指定在使用Puppet模块安装命令时要从其中解析模块的本地存储库。
一旦配置了Puppet命令行工具,每个傀儡模块安装
命令将从上面指定的Puppet存储库获取包。例如:
注意:准备安装到/Users/jainishs/。puppetlabs / etc /代码/模块……注意:下载自http://localhost:8080/artifactory/api/puppet/puppet…注意:正在安装——不要中断…/用户/ jainishs /。木偶labs/etc/code/modules └── puppetlabs-mysql (v3.10.0)
使用librarian-puppet
librarian-puppet
是您的Puppet基础设施的捆绑包。从5.4.5版本开始,您可以使用带有Artifactory的library - Puppet作为Puppet存储库来管理基础设施依赖的Puppet模块。
要将library -puppet配置为从Artifactory获取模块,a请将下列内容添加到您的Puppetfile
:
打造“http:// < ARTIFACTORY_HOST_NAME >: < ARTIFACTORY_PORT > / artifactory / api /木偶/ < REPO_KEY >”
例如,一个使用library -puppet的Puppetfile可能看起来像这样:
锻造“http://localhost:8080/artifactory/api/puppet/puppet-local”mod“puppetlabs-mysql”,“3.7.0”mod“puppetlabs-apache”,“1.5.0”
从Artifactory中获取并安装Puppet模块,执行以下命令:
librarian-puppet安装——no-use-v1-api
使用r10k
r10k是一个Puppet环境和模块部署工具。从5.4.5版本开始,您可以使用r10k从一个Artifactory Puppet存储库中获取Puppet环境和模块,以便进行部署。
要配置r10k从Artifactory获取模块,a请将下列内容添加到您的r10k.yaml
文件:
锻造:baseurl: http:// < ARTIFACTORY_HOST_NAME >: < ARTIFACTORY_PORT > / artifactory / api /木偶/ < REPO_KEY >”
例如:
锻造:baseurl: http://localhost: 8080 / artifactory / api /木偶/ puppet-local '
从Artifactory中获取并安装Puppet模块,执行以下命令:
r10k puppetfile安装
Puppet发布(部署模块)
设置您的凭据
为了支持身份验证,您需要将您的Artifactory凭证添加到您的puppet.conf
文件:
注意:您的凭证应该格式化为用户名:密码
作为一个Base64编码的字符串
你的Artifactory证书,格式化的用户名:密码
作为Base64编码的字符串。
例如:
[主要]module_repository = http://admin: AP7eCk6M6JokQpjXbkGytt7r4sf@localhost: 8080 / artifactory / api /木偶/ puppet-local
为了发布模块,请确保您拥有一个Artifactory用户。
部署模块
有两种方法可以将包部署到本地存储库:
使用Artifactory UI
一旦创建了Puppet存储库,就可以在Tree Browser中选择它并单击部署上传Puppet模块。
选择您的模块,然后单击部署.- 使用Artifactory REST API
例如:旋度-uadmin: AP7eCk6M6JokQpjXbkGytt7r4sf -XPUThttp://localhost: 8080 / artifactory / puppet-local / < TARGET_FILE_PATH> - t < PATH_TO_FILE >
在没有匿名访问的情况下使用Artifactory
默认情况下,Artifactory允许匿名访问Puppet存储库。这是在政府模块下一般安全|.详情请参阅允许匿名访问.
为了能够跟踪用户与存储库的交互方式,您需要取消选中允许匿名访问设置。这意味着用户将被要求输入用户名和密码设置您的凭据以上。
木偶的搜索
Artifactory支持多种方式来搜索工件。详情请参阅寻找Artifacts_OLD.但是,模块在发布后可能不会立即可用,原因如下:
- 当将模块发布到本地存储库时,Artifactory会异步计算搜索索引,并等待为新发布的模块建立索引。
- 由于虚拟存储库可能包含本地存储库,因此新发布的包可能由于同样的原因不能立即可用。
- 在远程存储库的情况下,只有当Artifactory根据检索缓存时间设置。
Artifactory用两个属性来注释每个部署或缓存的Puppet模块:puppet.name
而且puppet.version
您可以使用属性搜索来根据Puppet包的名称或版本搜索它们。
清理本地Puppet缓存
Puppet客户端保存已下载模块的缓存,以及它们的JSON元数据响应(称为.cache.json
).
JSON元数据缓存文件包含Puppet模块的元数据。
我们建议在第一次使用Artifactory之前删除Puppet缓存,包括模块和元数据。这是为了确保缓存只包含来自Artifactory请求的元素,而不是直接来自Artifactory请求的元素https://forge.puppet.com
.
查看Puppet各个模块信息
Artifactory允许您直接从UI查看选定的Puppet模块元数据。
在树浏览器并选择tar.gz
的文件,并查看元数据木偶的信息选项卡。
使用4.9.1及以下版本的Puppet
直到4.9.1版本,Puppet客户端不支持远程Puppet Forge存储库的上下文路径。因此,我们建议在Puppet 4.9.2及以上版本中使用Artifactory。
如果你需要使用Puppet 4.9.1及以下版本,你可以使用NGINX或Apache来重写所有请求/ v3 / *
来/ artifactory / api /木偶/ < repo-name > / v3 / *。
例如,如果您有一个名为puppet-virtual
,并且您正在使用Puppet 3.0,您将配置代理服务器以重写/ v3 / *
来/ artifactory / api /木偶puppet-virtual / v3 / *
.
下面的章节展示了NGINX和Apache的端口方法和子域方法的配置示例,以使用一个名为puppet-virtual
.
一旦你配置好了你的反向代理,你就可以使用以下命令从Artifactory安装模块:
端口的方法
Puppet模块安装——module_repository http://localhost:8001 puppetlabs-apache
子域法
Puppet模块安装——module_repository http://puppet-virtual.artifactory-cluster puppetlabs-apache
REST API
以下REST API端点可用于促进使用Puppet进行配置管理的自动化。Artifactory还使用这些端点来支持librarian-puppet
而且r10k
客户: