Files
gitea-docs/i18n/zh-tw/docusaurus-plugin-content-docs/version-1.24/usage/packages/chef.md
2025-09-03 21:00:35 +00:00

85 lines
2.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
date: "2023-01-20T00:00:00+00:00"
slug: "chef"
sidebar_position: 5
---
# Chef 軟體包註冊表
為您的使用者或組織發佈 [Chef](https://chef.io/) cookbooks。
## 要求
要使用 Chef 軟體包註冊表,您需要使用 [`knife`](https://docs.chef.io/workstation/knife/).
## 認證
Chef 軟體包註冊表不使用使用者名和密碼進行身份驗證,而是使用私钥和公钥对請求進行签名。
請访问軟體包所有者设置页面以建立必要的密钥对。
只有公钥存儲在Gitea中。如果您丢失了私钥的访问权限您必須重新生成密钥对。
[配置 `knife`](https://docs.chef.io/workstation/knife_setup/),使用下载的私钥,並将 Gitea 使用者名设置為 `client_name`
## 配置軟體包註冊表
要将 [`knife` 配置](https://docs.chef.io/workstation/knife_setup/)為使用 Gitea 軟體包註冊表,請将 URL 添加到 `~/.chef/config.rb` 文件中。
```
knife[:supermarket_site] = 'https://gitea.example.com/api/packages/{owner}/chef'
```
| 參數 | 描述 |
| ------- | -------------- |
| `owner` | 軟體包的所有者 |
## 發佈軟體包
若要發佈 Chef 軟體包,請執行以下命令:
```shell
knife supermarket share {package_name}
```
| 參數 | 描述 |
| -------------- | ---------- |
| `package_name` | 軟體包名稱 |
如果已经存在同名和版本的軟體包,则無法發佈新的軟體包。您必須先删除現有的軟體包。
## 安裝軟體包
要从軟體包註冊表中安裝軟體包,請執行以下命令:
```shell
knife supermarket install {package_name}
```
您可以指定軟體包的版本,这是可選的:
```shell
knife supermarket install {package_name} {package_version}
```
| 參數 | 描述 |
| ----------------- | ---------- |
| `package_name` | 軟體包名稱 |
| `package_version` | 軟體包版本 |
## 删除軟體包
如果您想要从註冊表中删除軟體包,請執行以下命令:
```shell
knife supermarket unshare {package_name}
```
可選地,您可以指定軟體包的版本:
```shell
knife supermarket unshare {package_name}/versions/{package_version}
```
| 參數 | 描述 |
| ----------------- | ---------- |
| `package_name` | 軟體包名稱 |
| `package_version` | 軟體包版本 |