当前位置: 首页 > ops >正文

云效流水线Flow使用记录

概述

最近在频繁使用阿里云云效的几款产品,如流水线。之前写过一篇,参考云效流水线缓存问题。

这篇文章来记录更多问题。

环境变量

不管是云效流水线Flow还是应用交付AppStack(基于流水线,后文不再赘述),都内置很多环境变量。参考环境变量。

Codeup

阿里云云效的代码管理,有独立的子域名:https://codeup.aliyun.com/。

关于代码仓库的权限管理,业界有很多不同的做法。据说Google使用同一套代码仓库,所有研发有所有Git仓库的阅读(View,Clone等)权限。

这在中国不太现实。云效Codeup有很严格的权限管理。比如在我司,我作为后端开发,无法查看前端、Python代码。但是呢,老板又给我布置一个AppStack的调研任务。

不管是在流水线还是AppStack里新增构建,都需要连接到Codeup。

不太确定是流水线的默认设置,还是我们公司代码仓库管理员的权限管控设置(大大大概率是后者)。

服务连接默认是【仅自己可见】:
在这里插入图片描述
基本信息截图如下,注意下图的授权:
在这里插入图片描述
但是呢,组织内的任何人都有新增服务连接的权限。
在这里插入图片描述
上图写错,应为【可选项】。

由于不能【查看】并使用他人的服务连接,组织内的任何一个开发者想要构建镜像,并发布到测试环境,要么去找运维来干这个事儿,要么是自己摸索。摸索着摸索着,就新增服务连接。就此埋下隐患。

运维离职。问题暴露。

大面积流水线构建报错:
在这里插入图片描述
日志截图
在这里插入图片描述
排查上述问题时,短暂地看过超管登录流水线子域名后的界面。乖乖,10多个服务连接,乱得一批。

上述问题的解决方法:【编辑】各个离职人创建的服务连接,选择一个可用的【服务授权/证书】;而不是针对各个流水线大面积去更换服务连接。

治理

上面提到人人都可新增服务连接,超管设置可收回此权限。

另外【超管或服务连接的创建人】可编辑服务连接,如下图所示(上面贴过一次):
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
【指定人员可见】,能给的权限也仅仅只是【使用者】。
在这里插入图片描述
可以完全放开为【所有人可见】!!!!!!!

找运维(有权限)编辑管理员(有代码仓库的最大权限)创建的服务连接,指定我可见。然后我在流水线里就可以【查看】他人创建的服务连接:
在这里插入图片描述
然后可以【查看】所有代码仓库的【连接】权限:
在这里插入图片描述
而我自己创建的服务连接,其Codeup服务连接对codeup代码仓库的可见权限继承自Codeup(有点绕),仅限于backend组,即后端组Java开发(然后老板还给我指派运维工作。。。)
在这里插入图片描述
注意看两张截图的下滑滚动条,很明显上面截图里代码仓库可见范围大得多。

再来看看Codeup代码仓库:
在这里插入图片描述
并没有其他代码仓库(如前端)的权限。

也就是说,Codeup服务连接的可见权限和Codeup代码参考的可见权限完全是两码事。

问题

unbound variable

Helm部署报错:
在这里插入图片描述
未绑定变量,大致意思是找不到变量。

解决方法:
在这里插入图片描述
在这里插入图片描述

failed to compute cache key: failed to compute checksum of ref: not found

构建报错截图如下:
在这里插入图片描述
解决方法:
ContextPath增加一个点解决问题。
在这里插入图片描述

invalid reference format

构建报错截图如下:
在这里插入图片描述
解决方法:

  • 删除替换语法:即写成,不便之处,无法和其他镜像TAG命名样式保持一致(harbor.tesla.com/rag/rag-online:test-ec85d8f3-20250411191733),而变成2025-04-11-19-17-33
    在这里插入图片描述
  • 替换使用的构建集群,如阿里云自带的构建集群
    在这里插入图片描述

failed to resolve dial up timeout

构建报错截图如下:
在这里插入图片描述
排查过程:
登录到流水线执行集群(机器)上,执行docker images命令:
在这里插入图片描述
解决方法:修改Dockerfile的FROM命令。

之前是FROM base_agent:latest
修改为FROM harbor.gpu.tesla.com:543/nlp/base_agentbase_agent:latest

repo app not found

构建报错截图如下:
在这里插入图片描述
排查下来,是流水线源选错:
在这里插入图片描述
解决方法:不是选择Helm代码仓库,而是选择业务代码仓库。

unexpected status from PUT request to 404 Not Found

构建报错截图如下:
在这里插入图片描述
报错日志:

ERROR: error writing manifest blob: failed commit on ref "sha256:b60c3b6e1eaf71deb9214e57eeaaa078d971f07afe28b0687b9f4ee459bf069d": unexpected status from PUT request to https://harbor.gpu.tesla.com:543/v2/nlp/agent/manifests/flow-docker-build-cache: 404 Not Found> importing cache manifest from harbor.gpu.tesla.com:543/nlp/agent:flow-docker-build-cache:exporting cache to registry:
ERROR: failed to solve: error writing manifest blob: failed commit on ref "sha256:b60c3b6e1eaf71deb9214e57eeaaa078d971f07afe28b0687b9f4ee459bf069d": unexpected status from PUT request to https://harbor.gpu.tesla.com:543/v2/nlp/agent/manifests/flow-docker-build-cache: 404 Not Found

报错原因显而易见,镜像缓存地址多了个v2。

报错原因,之前选择的是远端缓存:
在这里插入图片描述
解决方法:选择本地缓存。
在这里插入图片描述
构建参数
在这里插入图片描述

error: failed to solve: rpc error: code = Unknown desc = executor failed running [ ] exit code: 1

构建报错截图如下:
在这里插入图片描述
类似报错:
在这里插入图片描述
类似报错:
在这里插入图片描述
解决方法:
使用私有内部构建集群(节点)
在这里插入图片描述
注意点:

  • 不能使用${DATETIME//-/}格式(报错如上),使用${DATETIME}
  • 镜像缓存使用本地缓存。

原始日志中文乱

如下图所示,流水线里不能查看超过30天之前的日志。
在这里插入图片描述
但是可以点击【查看原始日志】
在这里插入图片描述
中文乱码:
在这里插入图片描述
这咋看?阿里云的Bug。

解决方法:点击上面截图里的【下载日志】,然后在本地查看
在这里插入图片描述

http://www.xdnf.cn/news/9121.html

相关文章:

  • 论文阅读笔记——Step1X-Edit: A Practical Framework for General Image Editing
  • Oracle 正则表达式匹配(Oracle 11g)
  • Rockey Linux 安装ffmpeg
  • 抖音不获取位置会显示ip属地吗?全面解析
  • AWS EC2 实例告警的创建与删除
  • some面试题2
  • 15.进程间通信(一)
  • Linux 527 重定向 2>1 rsync定时同步(未完)
  • python打卡day38
  • Django【应用 02】第一个Django应用开发流程图
  • WPF【11_1】WPF实战-重构与美化(Entity Framework)
  • 分布式常见概念
  • 25.5.27学习总结
  • pod创建和控制
  • day38 python Dataset和Dataloader
  • OpenCV CUDA模块图像处理------颜色空间处理之GPU 上交换图像的通道顺序函数swapChannels()
  • Wan2.1 图生视频模型内部协作流程
  • 02.【Qt开发】Qt Creator介绍及新建项目流程
  • Python打卡 DAY 38
  • 华为高斯数据库(GaussDB)深度解析:国产分布式数据库的旗舰之作
  • 局域协作中的前端调试:WebDebugX 在本地多端调试中的实践
  • CPU服务器的主要功能有哪些?
  • 高防CDN如何解决网站访问卡顿与崩溃问题?
  • VUE npm ERR! code ERESOLVE, npm ERR! ERESOLVE could not resolve, 错误有效解决
  • 鸿蒙仓颉开发语言实战教程:自定义组件
  • 将Windows11下的Ubuntu应用移动到其他盘
  • mysql中的MVCC
  • PH热榜 | 2025-05-24
  • DRF的使用
  • 【前端】【React】React性能优化系统总结