JenkinsGitlab持续集成打包平台搭建SkySeraphWord格式文档下载.docx
- 文档编号:21447374
- 上传时间:2023-01-30
- 格式:DOCX
- 页数:5
- 大小:19.54KB
JenkinsGitlab持续集成打包平台搭建SkySeraphWord格式文档下载.docx
《JenkinsGitlab持续集成打包平台搭建SkySeraphWord格式文档下载.docx》由会员分享,可在线阅读,更多相关《JenkinsGitlab持续集成打包平台搭建SkySeraphWord格式文档下载.docx(5页珍藏版)》请在冰豆网上搜索。
CI是团队成员间(产研测)更好地协调工作,更好的适应敏捷迭代开发,自动完成减少人工干预,保证每个时间点上团队成员提交的代码都能成功集成的,可以很好的用于对Android/iOS项目的打包.
OTA
OTA(Over-the-AirTechnology)空中下载技术,具体参考此文介绍.
pgyer
蒲公英(pgyer)为移动开发者提供App免费测试分发应用的服务平台,支持iOS与Android,简单两步分发应用。
类似
的还有fir.im等.
流程结构简单绘制了下Jenkins的一个流程,如下图:
IBMDeveloper上也有一个看似更复杂一点的图,如下图
持续交互流程图:
平台搭建Jenkins安装和启动官网:
https:
//jenkins.io/index.html
下载:
http:
//mirrors.jenkins-ci.org/war/latest/jenkins.war
安装:
依赖于Java环境,首先安装和配置Java环境
到官网下载Jenkins,双击安装,如果是Mac电脑,会自动生
成全局变量jenkins
修改参数:
jenkins+相关参数,如
jenkins-ittpPort=8888#更换端口号,当默认端口8080被
占用,或指定特定端口时。
启动
手动启动:
・・・■・
java-jarjenkins.war
后台启动(默认端口):
nohupjava-jarjenkins.war&
后台启动(指定端口):
nohupjava-jarjenkins.war-httpPort=88&
后台启动(HTTPS):
nohupjava-jarjenkins.war-httpsPort=88&
浏览:
//localhost:
8080/,localhost可配置
Jenkins插件安装
插件安装操作:
ManageJenkins->
ManagePlugins->
Available->
Search->
Clicktoinstall,如下图所示
实用插件
iOS专用:
XcodeintegrationAndroid专用:
GradlepluginGitlab插件:
GitLabPlugin和GitlabHookPluginGit插件:
GitpluginGitBuckit插件:
GitBuckitplugin签名证书管理插件:
CredentialsPlugin和KeychainsandProvisioningProfilesManagementFTP插件:
PublishoverFTP脚本插件:
Post-BuildScriptPlug-in修改Build名称/描述(二维码):
build-name-setter/descriptionsetterplugin获取仓库提交的commitlog:
GitChangelogPlugin自定义全局变量:
EnvironmentInjectorPlugin自定义邮件插件:
EmailExtensionPlugin获取当前登录用户信息:
build-user-vars-plugin显示代码测试覆盖率报表:
CoberturaPlugin来展示生成的单元测试报表,支持一切单测框架,如junit、
nosetests等:
JunitPlugin其它:
GITplugin/SSHCredentialsPlugin
Jenkins系统设置操作:
Configure
System
Jenkins内部shellUTF-8编码设置,如下图所示
JenkinsLocation和Email设置,如下图所示
E-mailNotification,设置如下如所示
Jenkis系统设置3
SMTP详细配置请参考HowtosendEmailateverybuildwithJenkins
JenkinsJobs配置Jobs基础配置配置编译参数
例如,如果需要打包者自行选择打包类型,如需要编译Release/Debug/Test等不同版本的包,那需要配置Jobs的编译参数,配置方法如下图所示:
Jenkins编译设置-参数设置2
你还可以配置一些其它参数,例如:
Jenkins编译设置-参数设置3配置完后,build界面中就会出现,如下如所示:
Jenkins编译设置-参数设置1
HowtoconfigureasingleJenkinsjobtomakethereleaseprocessfromtrunkorbranches?
配置匿名用户权限后面打包的应用发布时,如果懒得自己搭建服务器,就用
Jenkins的,但发布出去的链接需要登录才能访问,这时候你可以设置匿名用户的访问权限,这样匿名用户可以下载访问你提供的应用链接了,非常取巧的方法,如下图:
Jenkins编译设置-参数设置4.png
Jobs源码库配置(Gitlab为例)配置SSH
操作:
Credentials->
Globalcredentials(unrestricted)->
AddCredentials
本机生成SSH:
ssh-keygen-trsa-C“Youremail,”生成过程中需设置密码,最终生成id_rsa和id_rsa.pub(公钥)本机添加秘钥到SSH:
ssh-add文件名(需输入管理密码)
Gitlab上添加公钥:
复制id_rsa.pub里面的公钥添加到GitlabJenkins上配置密钥到SSH:
复制id_rsa.pub里面的公钥添加到Jenkins(privatekey选项)
新建Job
在Jenkins中,所有的任务都是以”Job”为单位的。
在进行操作前,你需要新建一个Job,Job新建比较简单,只需要在Jenkins管理的首页左侧,点击“NewJob”,一般选择free-stylesoftwareproject,再输入Job的名字即可。
配置Gitlab
在新建的任务(Jobs)中,Gitlab源码配置如下图:
需要输入git仓库和build分支,公钥使用上面配置SSH生成的公钥。
Jobs触发条件配置Jenkins支持多种触发器配置,包括:
定期进行构建(Buildperiodically),定时器使用示例如下:
H(25-30)181-5:
工作日下午6点25到30分之间进行build
H231-5:
工作日每晚23:
00至23:
59之间的某一时刻进行build
H(0-29)/15:
前半小时内每隔15分钟进行build(开始时间不确定)
H/20:
每隔20分钟进行build(开始时间不确定)
根据提交进行构建(Buildwhenachangeispushedto
GitHub)
定期检测代码更新,如有更新则进行构建(PollSCM)
Jobs构建方式/编译配置Jenkins支持多种编译配置方式,包括:
Xcode:
iOS编译配置(安装Xcodeintegration插件)
InvokeGradlescript:
Android编译配置(安装Gradleplugin插件)
ExceuteShell:
脚本方式对于iOS应用的构建,如果选择Xcode方式构建,需要配
置好开发者证书,具体参考后面签名和整数问题推荐使用ExceuteShell方式,简单有效。
Jobs构建后处理
Artifacts和邮件通知配置,参考下图
Jenkins项目设置-Archive-min
可借助EmailExtensionPlugin插件进行详细配置,具体可
参考此文
Jenkins项目设置-邮件-min
发布
FTP服务器,最传统的方式,可助蒲公英或者fir.im(安装对应的Jenkins插件)。
专业的Artifacts存储仓库,比如Nexus,Artifactory等。
对象存储服务:
比如阿里云OSS,AWSS3等,以阿里云为例,具体请参考此文在Jenkins持续集成方案中使用阿里云OSS作为Artifacts仓库
当然,如果不想自己的应用发布到三方网站,只希望在自己的内网上托管,这样需要在自己内网上搭建服务器,服务器搭建方式有很多种,Mac上可以用自带的Apache服务,也可以用其它服务。
iOS的发布可能希望用到OTA,可参考此文还有这篇一步一步实现无线安装iOS应用(内网OTA)这里分享一个我写的shell脚本模板(已开源),可以用于iOS的plist文件自动创建以及OTA简单发布页面的自动创建,参考此链接获取源码,欢迎Star.
自动生成一个简单HTML界面,如下图,点击Install即可安装:
Jenkis发布1
注意,这里iOS7.1以后限定必须要要用https,所以需要对jenkins设置下https,参考下面”后记”中的JenkinsHttps设置
LastShow
构建成功后最终的结果如下如所示:
后记签名和证书问题(iOS)
SetupcodesigningforiOSprojects安装JENKINS到发布IPA中的那些坑邮件发送失败实际搭建过程中有遇到此问题,折腾了小会,还以为是公司邮箱地址为题,后面发现仅仅是一个小配置问题。
ExtendedE-mailNotification中也需要和E-mailNotification一样,点击Advanced,然后选择UseSMTPAuthentication配置同E-mailNotification的参数。
JenkinsHttpsSupport查询JenkinsHttps相关命令:
1
java-jarjenkins.war--help|grep-ihttps
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JenkinsGitlab 持续 集成 打包 平台 搭建 SkySeraph
![提示](https://static.bdocx.com/images/bang_tan.gif)