云效产品使用报错问题之使用自定义镜像构建,看不到构建日志要如何解决

简介: 本合集将整理呈现用户在使用过程中遇到的报错及其对应的解决办法,包括但不限于账户权限设置错误、项目配置不正确、代码提交冲突、构建任务执行失败、测试环境异常、需求流转阻塞等问题。阿里云云效是一站式企业级研发协同和DevOps平台,为企业提供从需求规划、开发、测试、发布到运维、运营的全流程端到端服务和工具支撑,致力于提升企业的研发效能和创新能力。

问题一:在云效另一个流水线看不到前一个流水线挂载的文件,为什么?构建机只有一台机器

在云效另一个流水线看不到前一个流水线挂载的文件,为什么?构建机只有一台机器



参考答案:

在云效的持续集成/持续部署(CI/CD)流程中,每个流水线执行时都会创建独立的工作目录和环境变量,即使构建机只有一台,不同流水线之间仍然默认保持数据隔离。因此,一个流水线中的文件挂载并不会自动对其他流水线可见。

要实现流水线之间的文件共享或传递,你可以采取以下策略:

  1. 使用持久化存储:
    将需要跨流水线共享的文件上传至阿里云对象存储服务OSS或其他持久化存储服务,并在第二个流水线中通过API或者其他方式下载这些文件作为输入。
  2. 利用中间仓库:
    在第一个流水线结束时将生成的文件发布到代码仓库的一个特定分支或者标签,然后在第二个流水线上拉取并处理这些文件。
  3. 自定义脚本和环境变量:
    如果在同一台构建机上运行,可以考虑通过自定义脚本来临时保存和读取公共路径下的文件,但这不是云效推荐的最佳实践,因为这种方式不具有良好的可移植性和扩展性。
  4. 流水线间依赖和触发:
    设计流水线任务之间通过上下游关系来传递信息,例如:上游流水线成功后通过钉钉消息、API回调等方式告知下游流水线文件位置,下游流水线根据接收到的信息去获取相应的文件。

总之,在云效中,为了确保数据安全和环境一致性,默认不会让不同流水线直接访问彼此的数据,你需要通过额外的设计与配置实现数据的有效传递。



关于本问题的更多回答可点击进行查看:

https://developer.aliyun.com/ask/583783



问题二:云效这种问题怎么排查呢?

流水线执行失败了,使用自定义镜像构建的,镜像已通过下图的测试。感觉像是流水线没拉取到镜像,但我本地拉取又是正常的

云效这种问题怎么排查呢?BUILD_JOB_ID=176009482



参考答案:

这俩装了没?要装的。



关于本问题的更多回答可点击进行查看:

https://developer.aliyun.com/ask/583782



问题三:云效使用自定义镜像构建,看不到构建日志要怎么解决呢?

云效使用自定义镜像构建,看不到构建日志要怎么解决呢?



参考答案:

应该是自定义构建拉不到镜像就会一直卡着。



关于本问题的更多回答可点击进行查看:

https://developer.aliyun.com/ask/583780



问题四:云效往harbor推镜像为什么老失败?

云效往harbor推镜像为什么老失败?

[16:00:16] #8 ERROR: failed to authorize: rpc error: code = Unknown desc = failed to fetch oauth token: unexpected status: 502 Bad Gateway

[16:00:16]

[16:00:16] #9 [auth] xxxxxxxxxxxx/service-xd-admin:pull,push token for registry.cn-beijing.aliyuncs.com



参考答案:

这个错误提示表明在向Harbor推送镜像的过程中遇到了授权问题,具体表现为OAuth token的获取失败,并返回了502 Bad Gateway的错误。以下是一些可能的原因和解决步骤:

  1. 网络问题:
  • 502 Bad Gateway通常表示服务器作为网关或代理时收到了无效响应。这可能是由于网络连接不稳定或者Harbor服务器本身的问题。
  • 检查你的网络连接是否正常,尝试ping Harbor服务器或者访问其Web界面看看是否能正常打开。
  1. Harbor服务器问题:
  • 如果Harbor服务器出现问题,可能会导致OAuth服务无法正常工作。
  • 登录Harbor控制台,查看系统日志,查找是否有相关的错误信息。
  • 确认Harbor服务器的OAuth服务是否正常运行。
  1. 配置问题:
  • 检查你在云效上配置的Harbor仓库地址、用户名、密码或者访问凭证是否正确。
  • 确保你有足够的权限在Harbor中推送镜像。

为了进一步排查和解决问题,你可以按照以下步骤操作:

  • 确保你的Docker客户端配置正确,包括daemon.json中的 insecure registries 或者 credentials helpers 设置。
  • 清除本地的Docker认证缓存,命令如下(适用于Linux和macOS):
rm -rf ~/.docker/config.json
docker logout registry.cn-beijing.aliyuncs.com
  • 重新登录Harbor仓库:
docker login registry.cn-beijing.aliyuncs.com
  • 尝试手动推送一个镜像到Harbor,看看是否还会遇到同样的问题:
docker push registry.cn-beijing.aliyuncs.com/your-repo/your-image:tag



关于本问题的更多回答可点击进行查看:

https://developer.aliyun.com/ask/583779



问题五:云效新建的流水线环境申请不了是什么原因 ?通过一个构建集群节点 之前的流水线没问题

云效新建的流水线环境申请不了是什么原因 ?通过一个构建集群节点 之前的流水线没问题



参考答案:

runner可用执行机找不到,根据这个先自己排查一下 https://help.aliyun.com/document_detail/456683.html?spm=a2c4g.67353.0.i1 



关于本问题的更多回答可点击进行查看:

https://developer.aliyun.com/ask/583778

相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
SVN版本控制系统
SVN是现在软件开发之中的主流软件版本控制工具,在工作之中利用SVN可以有效的解决多人开发的代码管理问题,本课程将为读者讲解SVN服务器的配置以及基于MyEclipse的SVN客户端插件的配置与使用,并且在讲解之中着重讲解了冲突的产生于解决。
相关文章
|
25天前
|
存储 运维 监控
超越传统模型:从零开始构建高效的日志分析平台——基于Elasticsearch的实战指南
【10月更文挑战第8天】随着互联网应用和微服务架构的普及,系统产生的日志数据量日益增长。有效地收集、存储、检索和分析这些日志对于监控系统健康状态、快速定位问题以及优化性能至关重要。Elasticsearch 作为一种分布式的搜索和分析引擎,以其强大的全文检索能力和实时数据分析能力成为日志处理的理想选择。
91 6
|
3月前
|
存储 数据采集 数据处理
【Flume拓扑揭秘】掌握Flume的四大常用结构,构建强大的日志收集系统!
【8月更文挑战第24天】Apache Flume是一个强大的工具,专为大规模日志数据的收集、聚合及传输设计。其核心架构包括源(Source)、通道(Channel)与接收器(Sink)。Flume支持多样化的拓扑结构以适应不同需求,包括单层、扇入(Fan-in)、扇出(Fan-out)及复杂多层拓扑。单层拓扑简单直观,适用于单一数据流场景;扇入结构集中处理多源头数据;扇出结构则实现数据多目的地分发;复杂多层拓扑提供高度灵活性,适合多层次数据处理。通过灵活配置,Flume能够高效构建各种规模的数据收集系统。
66 0
|
7天前
|
JSON Java 数据库
SpringBoot项目使用AOP及自定义注解保存操作日志
SpringBoot项目使用AOP及自定义注解保存操作日志
25 1
|
2月前
|
Docker Python 容器
1. 日志输出报错
1. 日志输出报错
|
30天前
|
缓存 Linux 编译器
【C++】CentOS环境搭建-安装log4cplus日志组件包及报错解决方案
通过上述步骤,您应该能够在CentOS环境中成功安装并使用log4cplus日志组件。面对任何安装或使用过程中出现的问题,仔细检查错误信息,对照提供的解决方案进行调整,通常都能找到合适的解决之道。log4cplus的强大功能将为您的项目提供灵活、高效的日志管理方案,助力软件开发与维护。
49 0
|
1月前
|
存储 缓存 网络协议
搭建dns服务常见报错--查看/etc/named.conf没有错误日志信息却显示出错(/etc/named.conf:49: missing ‘;‘ before ‘include‘)及dns介绍
搭建dns服务常见报错--查看/etc/named.conf没有错误日志信息却显示出错(/etc/named.conf:49: missing ‘;‘ before ‘include‘)及dns介绍
|
2月前
|
Shell Python
salt自定义模块内使用日志例子
salt自定义模块内使用日志例子
|
3月前
|
开发框架 .NET Docker
【Azure 应用服务】App Service .NET Core项目在Program.cs中自定义添加的logger.LogInformation,部署到App Service上后日志不显示Log Stream中的问题
【Azure 应用服务】App Service .NET Core项目在Program.cs中自定义添加的logger.LogInformation,部署到App Service上后日志不显示Log Stream中的问题
|
3月前
|
敏捷开发 前端开发 测试技术
阿里云云效产品使用合集之如何将云效构建执行过程中产生的日志通过邮件发送
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
2天前
|
XML 安全 Java
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
本文介绍了Java日志框架的基本概念和使用方法,重点讨论了SLF4J、Log4j、Logback和Log4j2之间的关系及其性能对比。SLF4J作为一个日志抽象层,允许开发者使用统一的日志接口,而Log4j、Logback和Log4j2则是具体的日志实现框架。Log4j2在性能上优于Logback,推荐在新项目中使用。文章还详细说明了如何在Spring Boot项目中配置Log4j2和Logback,以及如何使用Lombok简化日志记录。最后,提供了一些日志配置的最佳实践,包括滚动日志、统一日志格式和提高日志性能的方法。
64 30
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板