4. 搭建Helm Charts Registry,在Azure Pipeline中使用GitVersion打包并推送Chart

演示资源已提交:

目录

前言

Pipeline 效果图:

创建 Helm Charts仓库

1. Create blank project in GitLab

 2. Create a Deploy Token 

3. Helm repo add 

4. Helm plugin install cm-push

5. Helm Pakage 

6. Helm cm-push  

搭建Azure Pipeline

1. Install GitTools

2. GitVersion.yml

3. azure-pipelines.yml

4. Disable Shallow fetch

 5. Set pipeline permissions

6. Set Branch policies 


前言

通过前面几篇博客,我们已经基本了解Helm Chart的生成和使用,接下来我们来实现生成环节中非常重要的部分:搭建Helm Charts仓库与CI Pipeline。

Pipeline 效果图:

Helm Chart版本号须符合 Semantic Versioning 2.0.0

  • 红色:正式版本,当代码merge到master分支之后触发CI生成
  • 蓝色:pr版本,当创建merge到develop或master分支的pull request时触发CI生成
  • 黑色:测试版本,当代码merge到develop分支后触发CI生成;

创建 Helm Charts仓库

Helm Charts Repo搭建并不复杂,Helm官网文档介绍了几个云服务商提供的Helm仓库。也可以自己搭建一个,比如通过Github Page,也非常简单。

但是我没有找到特别好的方法可以在Pipeline中Push Chart到基于Github Page搭建的仓库,因此我改用GitLab来创建一个免费的Helm Charts仓库,仅供学习使用。

1. Create blank project in GitLab

 2. Create a Deploy Token 

3. Helm repo add 

在你本地执行以下命令,替换掉<>中的内容。

helm repo add --username <username> --password <access_token> <repo-name> https://gitlab.com/api/v4/projects/<project_id>/packages/helm/stable

4. Helm plugin install cm-push

这里没有使用Helm 自身的push命令,而是使用了插件:

chartmuseum/helm-push: Helm plugin to push chart package to ChartMuseum (github.com)

5. Helm Pakage 

Helm pakage <Chart.yaml directory path>

尤其需要注意的是,Helm Chart Version必须遵循 Semantic Versioning 2.0.0

例如: 2.0.1

  • 2代表 MAJOR,表示一次重大的,不兼容的版本升级。
  • 0代表MINOR,每次触发就可以 +1。
  • 1代表PATCH,随着每次bug fixes而+1

6. Helm cm-push  

 

搭建Azure Pipeline

1. Install GitTools

我们需要在Pipeline中定义一套Chart Version计算方法。首先到azure pipeline 插件市场安装GitTools。GitTools - Visual Studio Marketplace

2. GitVersion.yml

GitVersion.yml - Repos (azure.com)

3. azure-pipelines.yml

azure-pipelines.yml - Repos

4. Disable Shallow fetch

Edit Pipeline -> 右上角三个点(More actions) -> Triggers ->  YAML -> Get Sources

 5. Set pipeline permissions

Edit Pipeline -> 右上角三个点(More actions) -> Manage security 

我们需要用GitVersion生成的版本号来更新Pipeline Build number,因此为Build Service Account分配Edit build pipeline权限。

6. Set Branch policies 

为了能在创建pr之后生成pr版本的helm chart,需要调整默认的分支策略。

Branch -> master -> Branch policies  -> Enable Build Validation

Branch -> develop -> Branch policies  -> Enable Build Validation

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值