天天看点

Jenkins 流水线 获取git 分支列表_某小型公司持续集成工具 Jenkins 实践前言研究过程效果图安装jenkins安装 xcode安装 Android studio安装git安装source tree配置jenkins环境增加计划总结

点击上方“芋道源码”,选择“设为星标”

管她前浪,还是后浪?

能浪的浪,才是好浪!

每天 8:55 更新文章,每天掉亿点点头发...

源码精品专栏

  • 原创 | Java 2020 超神之路,很肝~
  • 中文详细注释的开源项目
  • RPC 框架 Dubbo 源码解析
  • 网络应用框架 Netty 源码解析
  • 消息中间件 RocketMQ 源码解析
  • 数据库中间件 Sharding-JDBC 和 MyCAT 源码解析
  • 作业调度中间件 Elastic-Job 源码解析
  • 分布式事务中间件 TCC-Transaction 源码解析
  • Eureka 和 Hystrix 源码解析
  • Java 并发源码

来源:juejin.im/post/599fd5d151882524397f9fd3

  • 前言
  • 研究过程
  • 效果图
  • 安装jenkins
  • 安装 xcode
  • 安装 Android studio
  • 安装git
  • 安装source tree
  • 配置jenkins环境
  • 增加计划
  • 总结

前言

本文可能是网上最全的一篇全端jenkins部署解决方案介绍的文章,一直以来,领导都想解决代码提交和打包问题,尤其是小公司,打包流程混乱,造成线上版本和代码库git或svn中代码不一致问题。加入jenkins阵营,解决众多发包难题,显得刻不容缓。

研究过程

刚开始,我一直在docker下安装jenkins,按时长租用阿里的主机,用阿里容器服务做实验,反复创建docker容器,建立多个jenkins节点。结果发现,在容器中配置各种变量比较复杂,各种开发环境不易快速部署,当然啦,是刚开始的对jenkins研究过少造成的。后来我采用了windows主机,配java、maven、Android环境,踩了一路坑,终于搞定了。但是我知道ios开发和编译必须使用mac系统,本来想增加一个jenkins节点来实现ios的编译。当配置好之后,我突然改变了主意,与其两台电脑开着,不如索性把整个jenkins部署到mac系统下(毕竟我们公司暂时没有c#工程)。于是,所有的操作,所有的环境我又折腾了一遍。下面我逐一讲解最终mac下实现全端jenkins持续集成,当然不包含c#,一路踩坑下来,我觉得这都不是事,流程都差不多。

效果图

Jenkins 流水线 获取git 分支列表_某小型公司持续集成工具 Jenkins 实践前言研究过程效果图安装jenkins安装 xcode安装 Android studio安装git安装source tree配置jenkins环境增加计划总结

jenkins首页

Jenkins 流水线 获取git 分支列表_某小型公司持续集成工具 Jenkins 实践前言研究过程效果图安装jenkins安装 xcode安装 Android studio安装git安装source tree配置jenkins环境增加计划总结

构建历史

安装jenkins

我个人比较喜欢新事物,所以建议使用较高版本,我使用的2.61,目前最新版是2.75。mac下使用brew安装,终端执行

等安装完成后,终端运行jenkins即可启动。

安装 xcode

这个比较简单,直接从appstore下载最新版即可。安装后,将公司项目拉入xcode,先保证项目在本机编译,这里我登录了app开发者帐号,以便下载各种证书及发布。

安装 Android studio

这个到这里下载www.android-studio.org/

Jenkins 流水线 获取git 分支列表_某小型公司持续集成工具 Jenkins 实践前言研究过程效果图安装jenkins安装 xcode安装 Android studio安装git安装source tree配置jenkins环境增加计划总结

同理将本地项目拉入,运行。这一步主要是怕开发环境引起的坑,先把项目跑起来,后面坑会少点。

Jenkins 流水线 获取git 分支列表_某小型公司持续集成工具 Jenkins 实践前言研究过程效果图安装jenkins安装 xcode安装 Android studio安装git安装source tree配置jenkins环境增加计划总结

设置

进入设置,复制出sdk文件路径,后面需要使用。我这里是/Users/Shaolei/Library/Android/sdk

Jenkins 流水线 获取git 分支列表_某小型公司持续集成工具 Jenkins 实践前言研究过程效果图安装jenkins安装 xcode安装 Android studio安装git安装source tree配置jenkins环境增加计划总结

sdk路径

安装git

因为我们公司用的是git,如果贵公司使用svn,则同理,只需保git或者svn命令可以敲出来即可。我这里的版本比较老,尽量使用新的,我懒得换了。

安装source tree

这是一个非常好用的git可视化工具,改天会具体介绍它的强大功能。这款软件不是必须的,只是为了方便项目拉取,所以,你可以跳过此步骤。

配置jenkins环境

这里才是至关重要的一项,本文的核心

配置插件

Jenkins 流水线 获取git 分支列表_某小型公司持续集成工具 Jenkins 实践前言研究过程效果图安装jenkins安装 xcode安装 Android studio安装git安装source tree配置jenkins环境增加计划总结

下载插件

  1. Android Emulator Plugin
  2. build timeout plugin
  3. Email Extension Plugin
  4. Gradle Plugin
  5. Keychains and Provisioning Profiles Management
  6. Maven Integration plugin
  7. Pipeline
  8. Pipeline: GitHub Groovy Libraries
  9. SSH Slaves plugin
  10. Subversion Plug-in
  11. Timestamper
  12. Workspace Cleanup Plugin
  13. Xcode integration

其中Android Emulator Plugin、Gradle Plugin是安卓必须插件;其中Keychains and Provisioning Profiles Management、Pipeline、Xcode integration是ios编译必须插件;其中Maven Integration plugin、SSH Slaves plugin是maven项目必须插件,其他的Email Extension Plugin这个是为了编译失败的时候通知具体提交代码开发人员邮件

配置系统设置

Jenkins 流水线 获取git 分支列表_某小型公司持续集成工具 Jenkins 实践前言研究过程效果图安装jenkins安装 xcode安装 Android studio安装git安装source tree配置jenkins环境增加计划总结

系统设置

Jenkins 流水线 获取git 分支列表_某小型公司持续集成工具 Jenkins 实践前言研究过程效果图安装jenkins安装 xcode安装 Android studio安装git安装source tree配置jenkins环境增加计划总结

Local Maven Repository为maven仓库地址;如果本机没有安装maven,可能需要增加maven仓库;下面需要加入安卓环境变量,即上文中提到的那个sdk地址;

Jenkins 流水线 获取git 分支列表_某小型公司持续集成工具 Jenkins 实践前言研究过程效果图安装jenkins安装 xcode安装 Android studio安装git安装source tree配置jenkins环境增加计划总结
Jenkins 流水线 获取git 分支列表_某小型公司持续集成工具 Jenkins 实践前言研究过程效果图安装jenkins安装 xcode安装 Android studio安装git安装source tree配置jenkins环境增加计划总结

这里配置github地址,邮件用户名密码,注意发件人的邮箱必须上面jenkins注册是管理员邮箱是一个,否则一直失败,这里是个坑。

增加计划

Android 项目job

创建安卓job

Jenkins 流水线 获取git 分支列表_某小型公司持续集成工具 Jenkins 实践前言研究过程效果图安装jenkins安装 xcode安装 Android studio安装git安装source tree配置jenkins环境增加计划总结

创建安卓项目

配置项目的git库地址

Jenkins 流水线 获取git 分支列表_某小型公司持续集成工具 Jenkins 实践前言研究过程效果图安装jenkins安装 xcode安装 Android studio安装git安装source tree配置jenkins环境增加计划总结

配置项目的git库地址

下面配置触发器,每隔1分钟检查一次git库,也可以使用subscribe订阅,这里暂不做讲解。

Jenkins 流水线 获取git 分支列表_某小型公司持续集成工具 Jenkins 实践前言研究过程效果图安装jenkins安装 xcode安装 Android studio安装git安装source tree配置jenkins环境增加计划总结

配置触发器

设置编译后,将文件拷贝到一个文件目录。这里使用smb协议连接到了一个内网文件服务器上,方便测试部门测试。

Jenkins 流水线 获取git 分支列表_某小型公司持续集成工具 Jenkins 实践前言研究过程效果图安装jenkins安装 xcode安装 Android studio安装git安装source tree配置jenkins环境增加计划总结

配置编译及邮件通知

至于具体为何执行2次拷贝,是因为项目同时编译测试环境地址和真实环境地址,只有连接的服务器地址不通,其他代码都相同,具体实现可看另外一篇博文juejin.im/post/684490…

ios项目job

和安卓相同的源代码管理及触发器不做介绍,请参照安卓,下文同理。

Jenkins 流水线 获取git 分支列表_某小型公司持续集成工具 Jenkins 实践前言研究过程效果图安装jenkins安装 xcode安装 Android studio安装git安装source tree配置jenkins环境增加计划总结

这里需要配置ios项目的tagert,可以通过xcode打开查看,勾选Pack application and build .ipa?,使jenkins生成ipa包

Jenkins 流水线 获取git 分支列表_某小型公司持续集成工具 Jenkins 实践前言研究过程效果图安装jenkins安装 xcode安装 Android studio安装git安装source tree配置jenkins环境增加计划总结

配置证书地址和密码,这里指的是     Keychain Keychain path默认地址为/Users/shaolei/Library/Keychains/login.keychain,其中shaolei为mac登录的用户名,密码就是登录密码。失败时邮件发送至影响代码的配置请参照安卓,下文同理。同时编译两个ipa包请查看juejin.im/post/684490…

java项目job

Jenkins 流水线 获取git 分支列表_某小型公司持续集成工具 Jenkins 实践前言研究过程效果图安装jenkins安装 xcode安装 Android studio安装git安装source tree配置jenkins环境增加计划总结

因为公司人员少,项目版本如果让开发去控制,比较繁琐,每个开发得不停的增加版本号,这里我使用jenkins去控制版本号,这样也方便查询和回滚代码。当然啦,实现war的升级和回滚可看另外一篇文章juejin.im/post/684490…

当然了,这里用到了几个关键词变量,是jenkins特有的,更多变量参照下文:

h5项目job

这里我就用了zip打包,部署时使用zip解压到指定目录即可。

Jenkins 流水线 获取git 分支列表_某小型公司持续集成工具 Jenkins 实践前言研究过程效果图安装jenkins安装 xcode安装 Android studio安装git安装source tree配置jenkins环境增加计划总结

总结

本文全面讲解了jenkins各项目持续继承方案,因为涉及环境过多,坑还是比较多的,希望自行填坑。

欢迎加入我的知识星球,一起探讨架构,交流源码。加入方式,长按下方二维码噢:

Jenkins 流水线 获取git 分支列表_某小型公司持续集成工具 Jenkins 实践前言研究过程效果图安装jenkins安装 xcode安装 Android studio安装git安装source tree配置jenkins环境增加计划总结

已在知识星球更新源码解析如下:

Jenkins 流水线 获取git 分支列表_某小型公司持续集成工具 Jenkins 实践前言研究过程效果图安装jenkins安装 xcode安装 Android studio安装git安装source tree配置jenkins环境增加计划总结
Jenkins 流水线 获取git 分支列表_某小型公司持续集成工具 Jenkins 实践前言研究过程效果图安装jenkins安装 xcode安装 Android studio安装git安装source tree配置jenkins环境增加计划总结
Jenkins 流水线 获取git 分支列表_某小型公司持续集成工具 Jenkins 实践前言研究过程效果图安装jenkins安装 xcode安装 Android studio安装git安装source tree配置jenkins环境增加计划总结
Jenkins 流水线 获取git 分支列表_某小型公司持续集成工具 Jenkins 实践前言研究过程效果图安装jenkins安装 xcode安装 Android studio安装git安装source tree配置jenkins环境增加计划总结

最近更新《芋道 SpringBoot 2.X 入门》系列,已经 20 余篇,覆盖了 MyBatis、Redis、MongoDB、ES、分库分表、读写分离、SpringMVC、Webflux、权限、WebSocket、Dubbo、RabbitMQ、RocketMQ、Kafka、性能测试等等内容。

提供近 3W 行代码的 SpringBoot 示例,以及超 4W 行代码的电商微服务项目。

获取方式:点“在看”,关注公众号并回复 666 领取,更多内容陆续奉上。

兄弟,艿一口,点个赞!👇

继续阅读