Git 服务器
使用不同的 Git 服务器
Jenkins X 默认使用 GitHub,用于开源项目的免费公共 git 托管方案。
然而,在企业中工作时,你可能希望使用不同的 git 服务器。
你可以通过 jx get git 列出配置好的 git 服务器。
jx get git
添加一个新的 git 服务商
如果你在某个地方已经有了一个 git 服务,你可以通过 jx create git server 把它添加到 Jenkins X中:
jx create git server gitKind someURL
这里 gitKind
是某个 git 服务商,像 github, gitea, gitlab, bitbucket
企业 GitHub
要添加一个企业 GitHub 服务,尝试:
jx create git server github https://github.foo.com -n GHE
这里 -n
是 git 服务的名称。
BitBucket
要添加 BitBucket ,尝试:
jx create git server bitbucket -n BitBucket https://bitbucket.org
添加用户 tokens
为了添加一个 git 服务,你需要通过 jx create git token 添加一个用户名和 API token:
jx create git token -n myProviderName myUserName
然后,就会提示你输入 API token
Kubernetes 托管的 git 服务
你可以安装 git 服务到运行 Jenkins X 的 Kubernetes 集群中。
例如:有一个 gitea 的插件,可以让你把 gitea 作为 Jenkins X 安装的一部分。
要在 Jenkins X 中使用 gitea,你需要在安装 Jenkins X 之前启用 gitea
插件:
jx edit addon gitea -e true
你可以通过 jx get addons 查看启用的插件:
jx get addons
现在,当你 安装 Jenkins X 时,也会安装 gitea
插件。
无论什么时候,Jenkins X 需要为一个环境或者新项目创建一个 git 库时,gitea 服务都会出现在选择列表中。
gitea 已知的限制
在写本文时,gitea plugin for Jenkins不能够正确地更新 Pull Request 和 git 提交构建状态,这会打断 GitOps 升级流水线。可以手工审核来升级;但是,流水线会报告失败。
另一个问题是,由 jx
在 gitea
创建的新项目,无法使得 在 Pull Requests 中合并按钮可用。要使得可用的话,当一个项目在 GitHub 中创建后,你到仓库的 Settings
页面,在 gitea
的 web 控制台中,启用合并按钮。