猪齿鱼平台CI流程总结--遇到的坑

1.指定maven仓库

猪齿鱼平台可以创建自己的maven仓库(nexus),但是目前上传jar包有问题,所以我们需要先使用之前的maven仓库:http://119.3.***.***:8051/repository/maven-public/。

(1).指定maven仓库的设置,请看第3小节的修改“构建镜像”流程

(2).上传jar包到maven仓库(目前一直失败,推测网络问题,先不管了

参考文章:maven安装、环境变量配置以及使用mvn命令上传文件 - 简书 (jianshu.com)

mvn deploy:deploy-file -DgroupId=net.bytebuddy -DartifactId=byte-buddy -Dversion=1.10.10 -Dpackaging=jar  -Dfile=byte-buddy-1.10.10.jar -Durl=http://119.***.***.***:8081/repository/maven-releases/ -DrepositoryId=develop-nexus

但是向猪齿鱼Maven上传jar包,总是失败(与上面同样的指令,只是换了maven地址):

mvn deploy:deploy-file -DgroupId=net.bytebuddy -DartifactId=byte-buddy -Dversion=1.10.10 -Dpackaging=jar  -Dfile=byte-buddy-1.10.10.jar -Durl=https://pm-nexus.tongxin.cn/repository/shuziyingxiao-UAT-maven-repositry-mixed/ -DrepositoryId=shuziyingxiao-UAT-maven-repositry-mixed

2.关于Docker file

(1).猪齿鱼CI流程中使用的Dockerfile,在我们代码的第一层,所以如果要使用的Dockerfile(以及run.sh文件:启动java程序并连接skywalking)在第二层,那么请将其放到第一层。不再需要这样的操作,因为我们可以直接cd到有Dockerfile的目录,后续的生成Docker镜像操作可以直接利用该目录下的Dockerfile文件。

(2).使用的openjdk-alpine-skywalking:v1.0.0和openjdk8-sky-arthas:jdk基础镜像,在猪齿鱼流水线中无法从镜像仓库hub01.*******.com:7000中下载,所以将这两个基础镜像上传到docker hub中,以wit-email为例

其基础镜像有原来的hub01.*****.com:7000/openjdk-alpine-skywalking:v1.0.0变为wdquan*****1029/openjdk-alpine-skywalking:v1.0.0

3.创建CI流水线

为某个工程创建应用流水线

点击右上角的”创建流水线”。

在弹出的创建流水线对话框中,输入流水线名称,选择java工程,选择branch。最后选择Java镜像构建。

4.修改应用流水线

选中已经创建好的流水线,然后点击右上角的“修改”

(1).删除流程

进入修改页面后,在“流程配置”这个Tab下,删掉多余的流程(比如代码扫描、部署等),只剩下如下的构建镜像,目前只支持到打包Docker镜像并上传到Docker镜像仓库(猪齿鱼自带镜像仓库:pm-harbor.******.cn/wit-znk-1282103103)

删除“代码检查(Maven)”“部署”“Maven单元测试”这3个流程

只剩下构建镜像

 猪齿鱼Docker镜像仓库信息已经在华为云K8s集群中配置完成。

(2).修改“构建镜像”流程

点击“Java镜像构建”,在弹出的对话框中,选择“项目依赖仓库”

在高级配置中,添加shell语句,将我们自己的maven仓库加入到settings.xml文件中。

#Bruce: add my personal maven repositry
sed -i '/<settings>/ a\    <mirrors> \
\n      <mirror> \
\n        <id>nexus-aliyun</id> \
\n        <mirrorOf>central</mirrorOf> \
\n        <name>Nexus aliyun</name> \
\n        <url>http://maven.aliyun.com/nexus/content/groups/public/</url> \
\n      </mirror> \
\n      <mirror> \
\n        <id>nexus</id> \
\n        <mirrorOf>*</mirrorOf> \
\n        <url>http://119.***.***.***:8051/repository/maven-public/</url> \
\n      </mirror> \
\n    </mirrors> ' settings.xml

在高级配置中,将mvn打包指令改为:mvn clean install -Dmaven.test.skip=true -U -s settings.xml,以跳过单元测试(不然肯定会失败),并且使用上面修改过的settings.xml文件。

 在高级配置中,注释掉最后的cp target/app.jar ./app.jar

 在高级配置中,添加shell指令: docker login -u w***** -p c******,登录docker hub,从docker hub中获取基础镜像openjdk-alpine-skywalking:v1.0.0和openjdk8-sky-arthas:jdk

为什么要用docker hub,不用猪齿鱼自带的docker 镜像仓库?因为pull镜像的时候,总是提示没有权限

 没有权限怎样解决?加入下面的两句话。暂时还是先用docker hub,不折腾了

在高级配置中,添加cd指令,进入到有Dockerfile文件的目录 

在高级配置中,去掉“上传Chart至猪齿鱼”这一步,因为我们没有使用helm chart功能。

(3).配置Docker镜像tag

在修改页面的“高级设置”tab页下,“版本策略”选择“自定义”,然后在“命名规则”中填写tag,例如dev-wit-3.0

5.CI流水线执行

(1).执行流水线

在创建好的流水线的功能菜单中,选择“全新执行”,流水线开始执行。

(2).查看log

(3).Docker镜像仓库

在“制品库管理”中选择Docker镜像仓库“wit-z****k-1*****103”

6.华为云部署

指定“镜像名称” “镜像访问凭证”等

“镜像名称”例如:pm-harbor.****.cn/wit-***-1282103103/wit-wechat-mp:dev-wit-3.0

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值