使用华为云ServiceStage的持续交付构建失败原因排查

软件工程构建失败的原因很多,可以按照以下场景排查定位。

 

拉取不到代码

拉取不到代码,如下图所示

使用华为云ServiceStage的持续交付构建失败原因排查

一般原因可能有三种。

  • 如果是在自己的节点上构建,可能是该节点没有绑定弹性ip,如上图所示"192.168.x.x"的节点没有绑定弹性ip,解决方法:去该节点绑定弹性ip

  • 授权信息过期,代码源的私人令牌权限范围不够,或者授权信息已被移除等,例如:devcloud的代码源,拉取不到代码,可能是创建授权的时候,用户名对应的密码输错了,导致拉取不到代码。解决方法:重新授权即可。

  • 自己搭建的代码源仓库,和构建的节点网络不通,例如:在集群A的某一个节点上搭建了一个私有的bitbucket,构建使用集群B,但是集群B和集群A不是同一个vpc,内网不通,导致构建拉取不到代码。解决方法:打通网络。

 

依赖自己的私有maven仓库

 

有以下两种解决方案。

  • 在自己的项目的根目录下增加settings.xml文件,在settings.xml指定自己的私有maven仓库地址(如果自己的私有maven仓库时需要认证的,则需要在settings.xml配置上自己的认证信息,用户名密码等)。

  • 在自己项目的pom.xml文件中,指定自己的私有maven仓库。

settings.xml和pom.xml所在路径示例如下。

使用华为云ServiceStage的持续交付构建失败原因排查

 

 

自己的maven仓库搭建在devcloud上

 

项目代码依赖CSE的sdk,且依赖自己的maven仓库,自己的maven仓库搭建在devcloud上。

解决方法:在自己项目根目录下增加一个settings.xml文件,如何编写这个settings.xml,跳转到devcloud的私有依赖库,点击右上角的“更多操作”-->“生成配置”-->“下载配置文件”。

 

使用华为云ServiceStage的持续交付构建失败原因排查

使用华为云ServiceStage的持续交付构建失败原因排查

 

修改刚刚下载settings.xml文件

            1、在<mirrorOf>中增加一个!HuaweiCloudSDK

            2、<profiles>的<repositories>下面增加一个maven仓库

 

            <repository>
                        <id>HuaweiCloudSDK</id>
                        <url>https://repo.huaweicloud.com/repository/maven/huaweicloudsdk/</url>
                        <releases>
                                    <enabled>true</enabled>
                        </releases>
                        <snapshots>
                                    <enabled>true</enabled>
                        </snapshots>
            </repository>


如下图所示。

使用华为云ServiceStage的持续交付构建失败原因排查

将修改好的settings.xml放在自己项目的根目录后,进行构建即可。

 

源码构建Dockerfile设置错误

如何写Dockerfile,可以参考官网,也可以参照云上工程的模板生成的demo

使用华为云ServiceStage的持续交付构建失败原因排查

 

软件包构建Dockerfile设置错误

选择软件包后,后台会自动上传到做镜像的当前工作目录,Dockerfile的示例如下图所示。

使用华为云ServiceStage的持续交付构建失败原因排查