code.gitea.io/gitea@v1.22.3/docs/content/usage/packages/chef.zh-cn.md (about)

     1  ---
     2  date: "2023-01-20T00:00:00+00:00"
     3  title: "Chef 软件包注册表"
     4  slug: "chef"
     5  sidebar_position: 5
     6  draft: false
     7  toc: false
     8  menu:
     9    sidebar:
    10      parent: "packages"
    11      name: "Chef"
    12      sidebar_position: 5
    13      identifier: "chef"
    14  ---
    15  
    16  # Chef Package Registry
    17  
    18  为您的用户或组织发布 [Chef](https://chef.io/) cookbooks。
    19  
    20  ## 要求
    21  
    22  要使用 Chef 软件包注册表,您需要使用 [`knife`](https://docs.chef.io/workstation/knife/).
    23  
    24  ## 认证
    25  
    26  Chef 软件包注册表不使用用户名和密码进行身份验证,而是使用私钥和公钥对请求进行签名。
    27  请访问软件包所有者设置页面以创建必要的密钥对。
    28  只有公钥存储在Gitea中。如果您丢失了私钥的访问权限,您必须重新生成密钥对。
    29  [配置 `knife`](https://docs.chef.io/workstation/knife_setup/),使用下载的私钥,并将 Gitea 用户名设置为 `client_name`。
    30  
    31  ## 配置软件包注册表
    32  
    33  要将 [`knife` 配置](https://docs.chef.io/workstation/knife_setup/)为使用 Gitea 软件包注册表,请将 URL 添加到 `~/.chef/config.rb` 文件中。
    34  
    35  ```
    36  knife[:supermarket_site] = 'https://gitea.example.com/api/packages/{owner}/chef'
    37  ```
    38  
    39  | 参数    | 描述           |
    40  | ------- | -------------- |
    41  | `owner` | 软件包的所有者 |
    42  
    43  ## 发布软件包
    44  
    45  若要发布 Chef 软件包,请执行以下命令:
    46  
    47  ```shell
    48  knife supermarket share {package_name}
    49  ```
    50  
    51  | 参数           | 描述       |
    52  | -------------- | ---------- |
    53  | `package_name` | 软件包名称 |
    54  
    55  如果已经存在同名和版本的软件包,则无法发布新的软件包。您必须先删除现有的软件包。
    56  
    57  ## 安装软件包
    58  
    59  要从软件包注册表中安装软件包,请执行以下命令:
    60  
    61  ```shell
    62  knife supermarket install {package_name}
    63  ```
    64  
    65  您可以指定软件包的版本,这是可选的:
    66  
    67  ```shell
    68  knife supermarket install {package_name} {package_version}
    69  ```
    70  
    71  | 参数              | 描述       |
    72  | ----------------- | ---------- |
    73  | `package_name`    | 软件包名称 |
    74  | `package_version` | 软件包版本 |
    75  
    76  ## 删除软件包
    77  
    78  如果您想要从注册表中删除软件包,请执行以下命令:
    79  
    80  ```shell
    81  knife supermarket unshare {package_name}
    82  ```
    83  
    84  可选地,您可以指定软件包的版本:
    85  
    86  ```shell
    87  knife supermarket unshare {package_name}/versions/{package_version}
    88  ```
    89  
    90  | 参数              | 描述       |
    91  | ----------------- | ---------- |
    92  | `package_name`    | 软件包名称 |
    93  | `package_version` | 软件包版本 |