构建持续集成Jenkins

转:http://www.itiger.me/?p=30git

Jenkins+Github+Testflight在Mac下搭建持续集成环境 程序员

关于持续集成的基本概念,能够看一看持续集成学习笔记-入门篇(1)持续集成基本概念,也可自行Google。xcode

为了让你们先有个宏观的概念,我把该文中提到持续集成使用阶段主要步骤抄在这里:浏览器

  1. 程序员从源代码仓库下载最新程序
  2. 程序员编写代码、测试用例,并提交更新结果给版本控制仓库
  3. CI服务器根据触发条件,从版本控制仓库提取最新代码,交给构建工具的工做空间
  4. 构建工具对代码进行编译、测试,并进行打包。若有必要,实现产品部署、发布
  5. 经过构建工具与版本控制工具的配合,实现产品版本控制与管理
  6. 创建、管理项目开发的工做网站

本文将详细介绍如何Mac下搭建Jenkins+Github+Testflight持续集成环境,那就闲话很少说了,直接上步骤服务器

1.下载安装包:http://jenkins-ci.org/

2.安装后在浏览器访问http://localhost:8080/

3.安装插件

系统管理 -> 管理插件 -> 可选插件
依次找到git plugin、github plugin、Xcode plugin、Testfilght plugin 并安装app

4.系统设置

找到 Test Flight这一栏 并在相应位置填入API Token和team Token(须要你到https://testflightapp.com注册申请哈), 不要忘记页面最下方点保存 Test Flight Tokenssh

5.新建job

选择“构建一个自由风格的软件项目”,建立一个新任务 new jobide

 

6.任务配置

6.1 源码管理

 若是是一个public repository,选择Git并在Repository URL中直接填入github源码仓库地址便可。工具

这里想说一下Private 私有项目:

  • 在github中复制SSH URL(以下图),将地址贴到Repository URL

  • 打开终端为名为jenkins的用户设置一个密码

    sudo dscl . passwd /Users/jenkins YourPassword

  • 以jenkins用户身份生成ssh key,并与github账号关联

    su jenkins
    剩下的部分偷个懒,你们按照这里的步骤继续进行。Step 3中让你复制刚刚生成的key到剪切板pbcopy < ~/.ssh/id_rsa.pub就改为vi ~/.ssh/id_rsa.pub而后手动复制这个key,剩下的和刚才文档同样继续进行。

6.2 构建触发器

触发器,就是设置发生了什么事件来触发构建,咱们在一开始安装了gitbub Plugin插件,因此能够选择“Build when a change is pushed to GitHub”,你也能够在设置每隔15分钟就构建一次(以下图) 

6.3 设置构建步骤

构建 -> 增长构建步骤 -> Xcode
其实Xcode Plugin这个插件其实本质上仍是用的xcodebuild的命令行,因此请确保你的Xcode中 Command Line Tools已经安装。

其余的设置比较简单就不说了,就说说关于证书这一块吧

若是在构建中出现了”Code Sign error: There are no valid certificate/private key pairs in the default keychain”这个错误,到你的钥匙串串中,把有关iPhone开发的证书从“登陆”便签复制一份到“系统”标签里面。

这个问题解决之后你会遇到下一个错误 “Code Sign error: Provisioning profile ‘xxxxx-xxxx-xxxx-xxxxx’ can’t be found”
解决这个问题也很简单,找到相应的.mobileprovision文件,将其复制到/Users/Shared/Jenkins/Library/MobileDevice/Provisioning Profile就能够了

6.4 设置构建后操做

构建后操做 -> add post-build action -> Upload to Testflight
点击保存,任务配置就算大功告成了~

7.见证奇迹的时刻

点击“当即构建”,若是一切顺利,几分钟后构建完成,测试人员就能够在Testflight上安装最新的测试版本了。good luck!

8.写在最后

我也是初学者,本文若有不对之处欢迎你们留言指正。

相关文章
相关标签/搜索