React Native 【学习总结】-【Jenkins集成】
简述
Jenkins是一个持续集成工具,它本身有很丰富的插件提供使用,方便持续集成,为开发省时省力,下面是项目中对新的RN项目做的持续集成例子,通过该例子学会如何使用jenkins。
Jenkins安装
如果公司已经有了该工具,直接跳过。
下载安装教程这里推荐几个博客:
How To Set Up Jenkins for Continuous Development Integration on CentOS 7
Installing Jenkins on Ubuntu
macOS Jenkins安装&配置
Windows下安装Jenkins
Jenkins项目创建
搭好环境并下载好对应插件后,接下来就是项目的创建
step 1
![](https://img.haomeiwen.com/i2413316/65b8e4010040c3d7.png)
step 2
![](https://img.haomeiwen.com/i2413316/4c8df0031854f355.png)
step 3
项目构建信息配置
![](https://img.haomeiwen.com/i2413316/05e8a2ad5b8427a3.png)
![](https://img.haomeiwen.com/i2413316/971fc0b04a64f596.png)
第一步 根据'$branch'变量取不同分支代码
第二步 安装依赖
第三步就两个shell 文件,分别是对Android 平台和IOS平台的打包流程
bundle_build_android.sh
react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.bundle.js server/public --assets-dest android/app/src/main/assets
//如果RN不是私服 忽略一下步骤
rm -f server/public/index.bundle.js
cp -r android/app/src/main/assets/index.bundle.js server/public
cd server
docker build --no-cache -t demo:$1 .
bundle_build_ios.sh
react-native bundle --platform ios --dev false --entry-file index.js --bundle-output ios/bundle/index.bundle.js --assets-dest ios/bundle
//如果RN不是私服 忽略一下步骤
cp -r ios/bundle/index.bundle.js server/public
cd server
docker build -t demo$1 .
第三步的构建是基于我们自己的项目的,如果不是私服就没必要做注释后面的操作,第四步第五步更没必要了
第四步 将jenkins打好的镜像push到公司的服务器上
第五步 k8s服务从镜像服务器拉回构建版本,并重启镜像。
step 4
![](https://img.haomeiwen.com/i2413316/6ef8d61c03302338.png)
step 5
![](https://img.haomeiwen.com/i2413316/7283bce85755ef38.png)
![](https://img.haomeiwen.com/i2413316/b1c8a7c553a9e211.png)
日志的每一步都有日志可以查看,如果有问题可以追踪解决,这里日志的顺序跟你的流水线信息是一致的。
到这一个完整的构建过程就完成了。
总结
Jenkins学习到此,每次新版本发布,只需点个按钮就可以了,省得每次都要输入一堆命令。如有其他问题欢迎到我们的QQ群提问 : 379146202
本群是kotlin简书群,欢迎
![](https://img.haomeiwen.com/i2413316/026cdc2727881a66.png)