Chef 包管理器
发布您用户或组织的 Chef cookbook。
需求
要使用 Chef 包管理器,您必须使用 knife
。
身份验证
Chef 包管理器不使用用户名:密码身份验证,而是使用私钥:公钥密钥对进行签名请求。访问包所有者设置页面以创建必要的密钥对。只有公钥存储在 Gitea 中。如果您丢失了对私钥的访问权限,则必须重新生成密钥对。配置 knife
以使用下载的私钥,并将您的 Gitea 用户名用作 client_name
。
配置包管理器
要 配置 knife
以使用 Gitea 包管理器,请将 URL 添加到 ~/.chef/config.rb
文件中。
knife[:supermarket_site] = 'https://gitea.example.com/api/packages/{owner}/chef'
参数 | 描述 |
---|---|
所有者 | 包的所有者。 |
发布包
要发布 Chef 包,请执行以下命令
knife supermarket share {package_name}
参数 | 描述 |
---|---|
包名称 | 包名称。 |
如果已存在相同名称和版本的包,则无法发布包。您必须先删除现有的包。
安装包
要从包管理器安装包,请执行以下命令
knife supermarket install {package_name}
可选,您可以指定包版本
knife supermarket install {package_name} {package_version}
参数 | 描述 |
---|---|
包名称 | 包名称。 |
包版本 | 包版本。 |
删除包
如果要从注册表中删除包,请执行以下命令
knife supermarket unshare {package_name}
可选,您可以指定包版本
knife supermarket unshare {package_name}/versions/{package_version}
参数 | 描述 |
---|---|
包名称 | 包名称。 |
包版本 | 包版本。 |