自定义工作流的通用任务无法获取IMAGE变量

请问一下,在自定义工作流的【通用任务】中怎么获取【构建任务】的IMAGE变量呢?
目前通过自定义变量传递不过来,“服务信息”是不是只支持【部署任务呢】?
感谢回复支持 :pray: :pray:

QQ浏览器截图20220830211443

嗯,内置构建任务中的 $IMAGE 变量目前只用于内置部署任务中,这个是内置逻辑,目前没有途径获取这个变量。

方便分享一下你这边要在通用任务里获取到 $IMAGE 变量的场景吗?

我计划使用zadig做持续集成,argocd做多云多环境的持续交付,两者之间的桥梁是git仓库helm清单文件。

想把zadig生成的镜像名称通过自定义工作流的通用任务提交到git仓库,目前这个镜像名称获取不到了 :joy:

可以直接在构建脚本里来处理,思路如下:

  1. 正常的构建步骤,构建出 $IMAGE
  2. 修改 Git 仓库 Helm 清单文件(构建中是可以使用 $IMAGE 变量的),并 push 到 Git 仓库中

这个思路不错,我试了一下,但通过命令git clone git仓库时提示无权限,如何把git认证信息注入进去呢,需要也写在脚本里面吗 :handshake:

给你个 demo 例子参考哈

  1. 在 Git 仓库生成 Access Token(scopes 选择所有权限):

  2. 构建配置图示:
    2.1 代码信息配置里,除了用于构建的业务代码库,还增加 Helm 清单文件所在的 repo
    2.2 环境变量:配置上一步中获取的 Access Token
    2.3 构建脚本里做构建 & 文件内容变更,以下供参考:

按这个思路可以了,多谢 :+1: :+1:

我想在自定义工作流的某个阶段增加自定义部署(我们还不是微服务, 是一个镜像部署N个服务的),这样放到构建的通用任务里面没有和构建有很强的耦合性,其中一个失败就导致全部重来,所以想单独一个stage部署, 但是获取不到$image

@luo 下个版本自定义工作流支持自定义变量的传递,可以满足你这个诉求

1 个赞