从外部存储库导入和同步 StyleBook
假设您正在使用 CI/CD 流程进行开发,或者您正在 GitHub/GitLab 中管理所有应用程序源代码和部署工件。
在 GitHub/GitLab 存储库中,您可能维护了多个用于部署 NetScaler 配置和管理这些 StyleBook 的 StyleBook。您必须将这些 StyleBook 上传到 NetScaler Console。借助此功能,您可以直接将 GitHub/GitLab 中存在的 StyleBook 导入到 NetScaler Console 中。您无需手动从 GitHub/GitLab 复制它们,然后将其上传到 NetScaler Console。也无需手动同步 NetScaler Console 和 GitHub/GitLab 中的文件。此外,您还可以从 GitHub/GitLab 导入和同步配置包。
要导入 StyleBook 和配置包,请在 NetScaler Console 中定义一个表示 GitHub/GitLab 存储库的存储库。提供 GitHub/GitLab 存储库 URL 以及您在 GitHub/GitLab 中创建的用户名和 API 或个人访问 (PA) 令牌。这意味着,只有在 GitHub/GitLab 中拥有有效帐户的授权用户才能导入和同步 StyleBook。
您可以导入和同步以下类型的存储库:
- 可公开访问的存储库 - 向公众开放且可通过互联网访问的存储库。
- 本地或私有 GitLab/GitHub 存储库 - 私有托管的存储库,通常只能在企业内网中访问。对于这些存储库,您必须在注册过程中选择一个 NetScaler 代理。NetScaler 代理充当代理,用于访问企业内网中的存储库。
创建存储库后,您可以将 NetScaler Console 与您的 GitHub/GitLab 存储库同步。NetScaler Console 连接到 GitHub/GitLab 并导入在该存储库中找到的 StyleBook 和配置包。然后,NetScaler Console 会验证 StyleBook 并将其添加到 NetScaler Console 中的 StyleBook 列表中。如果 StyleBook 验证失败,则不会将其添加到 NetScaler Console。您可以识别并更正 StyleBook 上的错误。然后,将更新的版本提交到您的 GitHub/GitLab 存储库中。稍后,您可以尝试再次将它们导入或同步到 NetScaler Console。
如果在创建存储库时遇到以下错误,则表示 NetScaler Console 无法验证存储库的 SSL 证书,因为缺少或无法识别证书颁发机构 (CA) 证书:
certificate verify failed: unable to get local issuer certificate
要解决此问题,您可以手动将所需的 CA 证书添加到用于访问存储库的 NetScaler Console 代理。添加所需的 CA 证书可确保对外部存储库的安全连接得到正确验证。
登录到用于访问存储库的 NetScaler Console 代理,并将您的 CA 证书添加到受信任的证书捆绑包 /var/mps/ca_certs/cacert.pem
。
重要
StyleBook 文件可以从 GitHub/GitLab 存储库的任何分支导入和同步。
您还可以导入和同步与其关联了依赖 StyleBook 的 StyleBook。这些依赖 StyleBook 可以位于 GitHub/GitLab 存储库中,也可以已存在于 NetScaler Console 中。
从 GitHub/GitLab 存储库同步 StyleBook 必须从 NetScaler Console GUI 或 API 手动启动。也就是说,目前 StyleBook 的导入和同步不会根据您的 GitHub/GitLab 提交活动自动发生。
您要导入的配置包文件必须是 JSON 格式。此外,配置文件内容必须遵循导出的配置格式。在您的 GitHub/GitLab 存储库下,与配置包关联的文件必须位于
configpacks
文件夹中。
您可以将 StyleBook 文件从 GitHub/GitLab 存储库中的任何文件夹导入到 NetScaler Console。要导入配置包,请执行以下操作:
-
在根目录下创建一个名为
configpacks
的文件夹。确保所有与配置相关的文件都在此文件夹中。 -
在
configpacks
文件夹中,创建一个包含配置包有效负载的 JSON 文件。此有效负载用于同步配置包。以下是有效负载示例:{ "config_key": "unique-key-for-configpack", "parameters": { "param-name1": "param-value1", "param-name": "param-value2", "param-namen": "param-valuen" }, "stylebook": { "namespace": "some namespace", "name": "somename", "version": "spme-version" } } <!--NeedCopy-->
-
config_key
- 用于在 NetScaler Console 中标识配置包的唯一 ID 或名称。如果您未指定config_key
,NetScaler Console 会在创建配置包时自动生成 ID。如果在 NetScaler Console GUI 中找到指定的 ID,则同步操作会更新 NetScaler Console GUI 中的配置包。否则,它会创建具有指定 ID 的配置包。
-
parameters
- 它包含创建或更新配置包所需的所有参数。 -
stylebook
- 它是 JSON 文件中的强制属性。它包含您要与配置包关联的命名空间、版本和 StyleBook 名称。
-
-
在
configpacks
文件夹中,保留所有与配置包关联的文件,例如证书、签名文件和 XML 文件。
添加存储库
-
在 NetScaler Console 中,转到 Applications(应用程序)> Configuration(配置)> Repositories(存储库)。单击 Add(添加)。
-
在 Add Repository(添加存储库) 窗口中,输入以下参数:
-
Name(名称) - 键入存储库的名称。此名称可以与 GitHub/GitLab 中的存储库名称相同,也可以不同。
-
Repository URL(存储库 URL) - 键入 GitHub/GitLab 存储库 URL。
您可以指定 GitHub/GitLab 企业版 URL。它可帮助您从 GitHub/GitLab 企业版帐户导入或同步 StyleBook 和配置包。
-
Is it a private URL?(是否为私有 URL?) - 如果存储库是本地或私有 GitLab/GitHub 存储库,请选中此复选框,然后选择一个 Agent(代理)。
-
User Name(用户名) - 键入您用于访问 GitHub/GitLab 帐户或企业版帐户的用户名。
-
API/PA Token(API/PA 令牌) - 此令牌用于访问您的 GitHub/GitLab 存储库。有关如何为 GitHub/GitLab 存储库创建 API/PA 令牌的信息,请参阅 GitHub/GitLab 文档中有关创建个人访问令牌的内容。
-
-
单击 Create(创建)。
存储库在 NetScaler Console 中创建。
存储库选项
以下是存储库的其他选项:
-
Edit(编辑) - 您可以编辑存储库 URL、用户名和 API 令牌。
-
Delete(删除) - 您可以删除存储库以及 NetScaler Console 中以前从该 GitHub/GitLab 存储库导入的所有 StyleBook。
注意
如果 NetScaler Console 中的任何 StyleBook 关联了配置包,则无法删除该存储库。首先,删除这些 StyleBook 的所有配置包。稍后,您可以从 NetScaler Console 中删除存储库以清除该存储库中的 StyleBook。
-
Reset(重置) - 您可以删除 NetScaler Console 中从该存储库同步的所有 StyleBook,而无需实际删除存储库条目。
-
List files(列出文件) - 您可以查看 NetScaler Console 中源自 GitHub/GitLab 存储库的所有 StyleBook 的列表。
从 GitHub/GitLab 导入 StyleBook 和配置包的步骤
完成先决条件后,请按照以下步骤从 GitHub/GitLab 存储库导入 StyleBook 和配置包:
- 可选,如果尚未添加,请添加存储库。
- 在 Repositories(存储库) 页面中选择存储库。
- 单击 Sync(同步)。