jenkins自动化部署打包流程

一、背景

在实际项目开发中,自测完成后,需要给到测试人员安装包进行测试,在这一过程中,如果使用手动打包,这一过程就会比较耗时,如果电脑配置较差,可能还会引起电脑卡顿造成无法同步开发等等,现在有了jenkins这一神器,就可以解放双手,提交代码的同时就可以实现同步打包,并且可以随时可测。

一、简介

Jenkins是开源CI&CD软件领导者, 提供超过1000个插件来支持构建、部署、自动化, 满足任何项目的需要。它的优势在于以下几点:

  • 持续集成和持续交付
    作为一个可扩展的自动化服务器,Jenkins 可以用作简单的 CI 服务器,或者变成任何项目的持续交付中心。

  • 简易安装
    Jenkins 是一个基于 Java 的独立程序,可以立即运行,包含 Windows、Mac OS X 和其他类 Unix 操作系统。

  • 配置简单
    Jenkins 可以通过其网页界面轻松设置和配置,其中包括即时错误检查和内置帮助。

  • 插件
    通过更新中心中的 1000 多个插件,Jenkins 集成了持续集成和持续交付工具链中几乎所有的工具。

  • 扩展
    Jenkins 可以通过其插件架构进行扩展,从而为 Jenkins 可以做的事提供几乎无限的可能性。

  • 分布式
    Jenkins 可以轻松地在多台机器上分配工作,帮助更快速地跨多个平台推动构建、测试和部署。

对于详细的资料,可前往jenkins官网自行下载安装包及配置文档。

三、安装jenkins

  • 前往官网手动下载安装包进行安装
  • 使用brew安装最新版本
brew install jenkins
  • 安装 LTS 版本
brew install jenkins-lts

四、解锁jenkins

1、安装结束后,终端输入命令:

jenkins

2、启动服务后,前往浏览器访问http://localhost:8080,如果是第一次启动,需要输入密码进行访问,可按照浏览器提示的路径进行密码的获取,复制到输入框后点击继续即可解锁

3、安装插件

  • 安装建议的插件:安装推荐的一组插件,这些插件基于最常见的用例
  • 自定义安装插件:通过Jenkins中的Manage Jenkins> Manage Plugins 页面在稍后的时间点安装(或删除)其他Jenkins插件

4、配置管理员账户

五、安装自定义插件

目前安装的自定义插件主要有Xcode integrationKeychains and Provisioning Profiles Management,下面主要介绍如何安装Keychains and Provisioning Profiles Management及配置.

1、安装Keychains and Provisioning Profiles Management的一款插件,用来管理kechain和iOS证书

2、前往Manage Jenkins> Keychains and Provisioning Profiles Management上传文件及设置,
这里需要上传Keychain和Provisioning Profile文件。

  • 上传Keychain文件,文件路径在~/Library/Keychains,将文件login.keychain-db拷贝一份,去掉后缀-db,即可上传,上传成功后,在Code Signing Identity处填写证书名称,可填写多个证书名称,一般选择开发和生产两个证书就可以了,可前往钥匙串中找到对应的证书,复制粘贴名称即可。如iPhone Distribution: Guangdong xxx(xxxx)iPhone Developer: xiao ming (75CJYJS52).

  • 上传Provisioning Profile描述文件,去开发者平台下载对应的dev、dis、ad-hoc描述文件上传即可,上传完成后会自动填充相关信息,在Provisioning Profiles Directory Path处填写描述文件安装的路径,如/Users/xiaoming/Library/MobileDevice/Provisioning Profiles.

六、新建任务

一、jenkins->新建任务
二、输入一个任务名称,一般按照一定的规范进行命名,比如iOS_xxx,接下来选择工程风格,优先使用之前已配置好过的项目,这样就只要改少量配置就可以了,如果是需要逐步手动配置,一般选择freestyle project进行配置
三、配置

  • General
    描述:自定义,可以用来描述此次工程的功能,比如这是iOSxxx迭代分支功能
    丢弃旧的构建:打勾
    策略:可以根据自己的需求进行选择,比如保持构建天数5天,构建的最大数目30等等

  • 源码管理(Git)
    Repository URL:填写自己项目的git地址
    Credentials:填写https账户密码或ssh密钥
    指定分支:填写自己要打包的分支,例如*/feature-xxx

  • 构建触发器
    可选择Poll SCM轮询构建,例如H/15 * * * *每15分钟构建一次

  • 构建环境
    勾选Set jenkins user build variables,这是为了后面的自定义版本号做的配置

  • 构建
    先选择添加Xcode选项,如果没有这个选项,需要先添加Xcode integration插件

  • Versioning
    勾选Provide version number and run avgtool?
    Marketing version:例如1.1.0
    Technical version:例如Demo-${BUILD_NUMBER}

  • Execute shell
    这里添加需要执行的操作,比如执行一些打包的配置、资源的检测、上传第三包平台的执行等等,例如

cd ${WORKSPACE}
python3 ./jenkins_stringCheck.py
./source_replace.sh 0
cd ..
python package.py -b -1 -u fir -d ${JOB_NAME}
#python package.py -b -1 -u pgyer -d ${JOB_NAME}
#python package.py -b -1 -u all -p production -d ${JOB_NAME}
  • 构建后操作
    可根据自己的需求选择,例如想将打包后的IPA包放到FTP上,就可以添加Send build artifacts over FTP

七、总结

总的来说,jenkins的确是非常强大且高度自定义,有效的提高了N倍的交付效率。关于它的更多配置,也只有在未来工作学习中不断学习和尝试,需求一套适合自己或者公司的解决方案。

你可能感兴趣的:(jenkins自动化部署打包流程)