流水线相关问题¶
本页列出使用应用工作台的流水线功能时时可能遇到的一些问题,并给出相应的解决方案。
执行流水线时报错¶
当 Jenkins 所在集群与应用部署集群跨数据中心时,网络通信延迟会变高,可能遇到如下的报错信息:
E0113 01:47:27.690555 50 request.go:1058] Unexpected error when reading response body: net/http: request canceled (Client.Timeout or context cancellation while reading body)
error: unexpected error when reading response body. Please retry. Original error: net/http: request canceled (Client.Timeout or context cancellation while reading body)
解决方案:
在该流水线的 Jenkinsfile 中将部署命令由 kubectl apply -f 修改为 kubectl apply -f . --request-timeout=30m。
如何更新内置 Label 的 podTemplate 镜像?¶
应用工作台通过 podTemplate 能力声明了 7 个 label:base、maven、mavenjdk11、go、go16、node.js 和 python。您可以指定具体的 Agent 标签来使用对应的 podTemplate。
如果内置 podTemplate 中的镜像不满足您的需求,可以通过以下方式替换容器镜像或者添加容器镜像。
-
前往容器管理模块,找到 Jenkins 组件所在的集群,点击集群名称。

-
在左侧导航栏依次点击
配置与密钥->配置项。 -
搜索
jenkins-casc-config,在操作列点击编辑YAML。
-
在
data->jenkins.yaml->jenkins.clouds.kubernetes.templates字段下选择需要更改的 podTemplate 的镜像。
-
更新完成后,前往
工作负载重启 jenkins。
流水线构建环境为 maven 时,如何在 settings.xml 中修改依赖包来源?¶
当流水线构建环境为 maven 时,大多数客户需要修改 settings.xml 以更换依赖源。可参考以下步骤:
-
前往容器管理模块,在
集群列表界面选择 Jenkins 组件所在的集群,点击集群名称。
-
在左侧导航栏依次点击
配置与密钥->配置项。 -
搜索
amamba-devops-agent,在操作列点击编辑YAML。
-
在
data模块 下的MavenSetting按需修改。
-
更新完成后,需要前往
工作负载重启 Jenkins。
通过 Jenkins 构建镜像时,容器无法访问私有镜像仓库¶
集群运行时为 podman¶
-
在容器管理模块的
集群列表界面找到 Jenkins 组件所在的集群,点击集群名称。 -
在左侧导航栏依次点击
配置与密钥->配置项。 -
搜索
insecure-registries,在操作列点击编辑YAML。 -
在
data模块下的registries.conf下配置。修改时注意格式缩进,并且每个 registry 需要一个单独的
[[registry]]部分,如下图所示: