在云效中,新的deploy失败了,我想看下具体什么原因失败,光从执行日志看不出失败原因的,另外请问哪里能查看失败的日志呢
在云效中,如果你想要查看具体的失败原因,你可以通过以下步骤来进行:
登录到你的云效账号,然后进入你的项目。
在项目的概览页面,你会看到所有的部署记录。找到失败的部署,点击它进入详情页面。
在详情页面,你会看到详细的部署日志。这些日志会告诉你部署的具体过程,包括每一步的执行结果。
在日志中,你会看到一个“失败原因”的部分。这部分会告诉你部署失败的具体原因。
在云效中,如果新的 deploy 失败了,通常可以采取以下方法来查看原因:
请顺序执行以下的排查步骤,示例中假定待发布的工作负载类型为 deployment,预期的名字为 demo-deploy,所处的命名空间为 demo-namespace.
4.1检查 Rollout 辅助对象是否成功创建
由于 Rollout 辅助对象会使用预期名,故可直接获取:
kubectl get rollout demo-deploy -n demo-namespace -o=yaml
如果没有发现 Rollout 对象生成,请提交答疑工单,由技术支持人员协助排查。
4.2 确认是否存在基线版本缺失
根据前一步获取的 Rollout yaml,判断是否有基线版本缺失:
spec:
componentName: demo-deploy
rolloutPlan:
batchPartition: 0
rolloutBatches:
请关注 status 属性下的 LastSourceRevision 和 lastTargetRevision 两个字段,它们应该对应存在的 Deployment 名字;如果 rollingState 处于 rolloutAbandoning 且 LastSourceRevision 和 lastTargetRevision 对应的 Deployment 遭删除,则发布可能如上面所示地停滞。
如果确认 Deployment 确实遭删除,可以通过回补 Deployment 完成发布补偿,补偿后的版本将是 spec 属性中的 targetRevisionName 版本,通常是最近一次指定发布的工作负载版本。回补的 Deployment 建议设置为 0 复本,以避免不必要的资源开销或业务流量导入。
如果没办法从其他渠道获取被删除的 deployment 细节,可以通过下面的命令获取基线数据:
kubectl get controllerrevision demo-deploy-v180 -n demo-namespace -o=yaml
kubectl get controllerrevision demo-deploy-v179 -n demo-namespace -o=yaml
ControllerRevision 对象中,包含了曾经发布的工作负载信息,可供参考。
如果需要手工操纵分批发布,请修改 spec 属性下的 batchPartition 字段。请注意,batchPartition 对应分批发布批次计划中的下标,从 0(而不是从 1)开始。
此回答来自“云效答疑服务群”
部署常见问题https://help.aliyun.com/document_detail/153695.html
在部署详情中,显示具体的部署错误码,不同的错误码对应的错误说明和错误排查如下:
User.NoPermission
用户没有调用某个API的权限。请检查部署组的服务链接是否正常。
2.获取部署日志失败
参照停止或启动云助手客户端启动云助手服务
如果新的部署失败,并且您无法从执行日志中看出失败原因,您可以尝试以下几种方法:
aliyun devops pipeline:status --id <pipeline_id>
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
云效,企业级一站式研发协同平台,数十万企业都在用。支持公共云、专有云和混合云多种部署形态,通过云原生新技术和研发新模式,助力创新创业和数字化转型企业快速实现研发敏捷和组织敏捷,打造“双敏”组织,实现多倍效能提升。