Dun*_*tin 8 git jenkins kubernetes kubernetes-helm
我希望能够使用 Jenkins 执行的 Helm 图表(作为构建周期的一部分)自动部署到我的 Kubernetes 集群。Jenkins 机器位于与 Kubernetes 集群不同的网络上(而不是许多博客中记录的其中一部分)。
我有一个托管在私人 GitHub 帐户中的图表存储库。我遵循了这里的过程:https : //hackernoon.com/using-a-private-github-repo-as-helm-chart-repo-https-access-95629b2af27c 并且能够将其添加为 Helm 中的一个 repo Azure 服务器使用以下格式的命令:
helm repo add sample 'https://MY_PRIVATE_TOKEN@raw.githubusercontent.com/kmzfs/helm-repo-in-github/master/'
Run Code Online (Sandbox Code Playgroud)
我一直在尝试让 Jenkins 内部的 ElasticBox Kubernetes CI/CD (v1.3) 插件连接到这个图表存储库,但是每当我按下“测试连接”时,我都会收到 400 Bad Request 错误。我尝试以多种方式输入详细信息:
我有这个插件可以连接到 Kubernetes Cloud,它可以连接到https://github.com/helm/charts上的存储库并部署一个 RabbitMQ 容器。
是否可以让这个插件作为图表存储库连接到私有 Github 存储库,如果是这样,我该怎么做?
如果没有,是否有其他方法可以从 Jenkins 部署 Helm 图表(在私人仓库中)?我找不到任何其他使用 Helm 的插件。
谢谢邓肯
我们在 CI 中使用的是完全跳过任何时髦的 Jenkins 插件而只使用本机工具。我们将 kubectl/helm 烘焙到 jenkins/worker 映像中,为他们提供凭据,以便他们可以与集群对话,然后不是从已发布的图表中获取私有 Helm 图表,而是直接从持有该图表的私有 git 存储库中获取。然后我们简单地helm使用通常的脚本步骤针对这个本地克隆的图表运行。
定义 ca 证书的 kube 配置部分示例(与下面的评论相关):
apiVersion: v1
clusters:
- cluster:
certificate-authority-data: <base64 ca cert>
server: https://cluster_api_url
name: mycluster
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10367 次 |
| 最近记录: |