jenkins的配置和部署

Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作,功能包括:持续的软件版本发布/测试项目;监控外部调用执行的工作。

本文为基于mac系统的jenkins配置和部署。

1.安装前准备

1.1 下载安装包jenkins (mac版)

官网地址

1.2配置jenkins安装环境

检查你的mac 是否已经安装jdk,没有的话请安装。
检查你的apachectl是否已经开启,浏览器输入“http://localhost:80”, 出现“ it works” 表示apachectl已经启用,未启用的请安装。

1.3 开始安装

点击jenkins安装包,一路默认就好。

1.4 启动jenkins 并自启动

(1)终端启动

在终端中到达jenkins.war的目录下,输入

java -  jar jenkins.war --httpPort ==8888

//注 :通过端口8888,访问http://localhost:8888

(2)自启动

设置默认端口

  sudo defaults write /Library/Preferences/org.jenkins-ci httpPort '   9999'

读取设置

    defaults read /Library/Preferences/org.jenkins-ci

自启动

   sudo launchctl load /Library/LaunchDaemons/org.jenkins-ci.plist

取消自启动

   sudo launchctl unload /Library/LaunchDaemons/org.jenkins-ci.plist

(如果自启动不成功,请用终端启动jenkins.war的方法)

浏览器出现以下画面,安装完成

jenkins的配置和部署_第1张图片

2. jenkins的配置

2.1 增加Xcode插件

在jenkins的系统管理中,找到管理插件,可选插件的tab下搜索 xcode,勾选安装,点击直接安装。这样重启jenkins的话,就会在job 的构建中下拉选择处看到xcode的支持选项。

2.2 点击左侧的系统管理—>系统设置进入如下界面:

jenkins的配置和部署_第2张图片

2.3 JDK配置

配置JDK,请在每一节下面单击Add(新增) 按钮,这里将添加实例的名称 和绝对地址。下图描述了这两个部分。

jenkins的配置和部署_第3张图片

JDK别名:给你看的,随便你自己,叫阿猫阿狗都可以
JAVA_HOME:这个是本机JDK的安装路径(错误的路径会有红字提示你的)

自动安装:不推荐这个选项

Ps:每个文本框后面都有个问号,点击问号就会出现帮助信息

2.4配置发件人地址

2.5 subVwesion配置

jenkins的配置和部署_第4张图片

Subversion Workspace Version:Subversion 的版本号,选择你对应的版 本号就行了。

接着,点击”应用””保存”。

2.6 Configure Global Security(安全设置)

在已运行的Jenkins主页中,点击左侧的系统管理— >Configure Global Security进 入如下界面:

jenkins的配置和部署_第5张图片

设置如上图,保存后系统管理中就出现管理用户的选项。页面右上角也会出现 登录/注册的选项。

2.7 管理用户设置

在右上角点击注册

jenkins的配置和部署_第6张图片

点击sign up按钮,提示你现在已经登录.返回首页.

登录后和匿名账号看到的首页有几点不同,如下图红框所示:

jenkins的配置和部署_第7张图片

2.8 向jenkins导入开发所需证书

  1. 先将iOS的开发所需证书导入你的Mac上(放在系统中)
  2. 将“/System/Library/Keychains/”下的文件复制到“~/Library/Keychains/*”
  3. 将“/System/Library/MobileDevice/Provisioning\Profiles”下的文件 复制到“~/Library/MobileDevice/Provisioning\Profiles/*”

(注:~/Library/下没有的后两个目录的自己创建即可)

3 创建打包项目

3.1新建自由风格构建任务

在已运行的Jenkins主页中,点击左侧的新建Job进入如下界面:

jenkins的配置和部署_第8张图片

这时,需要为新的构建任务指定一个名称。(这里输入的任务名称为:Ant_test) 这里有几种的任务类型可供选择,鉴于初步介绍,先选择构建一个自由风格的软件项目。对于其他的类型,经常使用的是拷贝已存在任务;这主要为了能在现有的任务基础上新建任务。点击OK按钮,

3.2 源码管理配置

演示是使用Subversion的链接,在Repository URL中输入你的项目链接,如果没有权限则会提示如下图:

jenkins的配置和部署_第9张图片

点击 enter credential 输入SVN用户名和密码

SVN地址:例如 https://192.168.50.7/svn/Personal/mobile/trunk/iOS/ iOS_Mobileclient/Platform/SafeClient

3.3 构建触发器

在其他项目构建完成后才执行构建:指定的项目完成构建后,触发此项目的构 建。

Poll SCM:这是CI系统中常见的选项。当你选择此选项,你可以指定一个定时作业表达式来定义Jenkins每隔多久检查一下您源代码仓库的变化。如果发现变化,就执行一次构建。

  • 第一个参数代表的是分钟minute,取值 0~59;
  • 第二个参数代表的是小时 hour,取值0~23;
  • 第三个参数代表的是天 day,取值1~31;
  • 第四个参数代表的是月 month,取值1~12;
  • 最后一个参数代表的是星期 week,取值0~7,0 和 7 都是表示星期天。
    如H/5 * * * * 表示的就是每5分钟检查一次源码变化。
    如:H/2 * * * * 每两分钟进行一次检查

Build periodically :此选项仅仅通知Jenkins按指定的频率对项目进行构建,而不管SCM是否有变化。如果想在这个Job中运行一些测试用例的话,它就很 有帮助。

3.4 构建配置

因为我的项目是用Mac 下脚本实现的打包,所以我选择的是Execute shell, 在出现的方框中写下你的批处理命令行(如:本项目就是自动打包、发送命令行)即可

jenkins的配置和部署_第10张图片

打包脚本命令:(将项目打包并发送到当前目录的上一目录内,以当前日期为 名的文件夹内)在jenkibs的日志输出中能查到路径
参考脚本我放文件夹里了(文件名:脚本)
点击“应用”“保存”就可以了。

3.5 立即构建

点击左侧菜单中的“立即构建”,进行一次新的构建,如下图

jenkins的配置和部署_第11张图片

一旦构建完成后,完成后的任务将会下图。

无标题14.png

在上面展示的截图中,您将注意到有两个图标描述当前作业的状态。S栏目代 表“最新构建状态”,W栏目代表着“构建稳定性”。Jenkins使用这两个概念来 介绍作业的总体状况:
构建状态:下图中分级符号概述了一个Job新近一次构建会产生的四种可能的状态:

  • Successful:完成构建,且被认为是稳定的。
  • Unstable:完成构建,但被认为不稳定。
  • Failed:构建失败。
  • Disabled:构建已禁用。

构建稳定性: 当一个Job中构建已完成并生成了一个未发布的目标构件,如果您准备评估此次构建的稳定性,Jenkins会基于一些后处理器任务为构建发布 一个稳健指数(从0-100 ),这些任务一般以插件的方式实现。它们可能包括单元测试(JUnit)、覆中分级符号概述了稳定性的评分范围。任何构建作业的状态(总分100)低于80分就是不稳定的。

3.6 调试

如果构建失败,通过点击构建历史(Build History)中某个具体的构建链接, 您就能跳转到Jenkins为这个构建实例而创建的构建主页上。如下图

jenkins的配置和部署_第12张图片

单击Console Output(控制台输出)。如果工作已完成,这将显示构建脚本产生的静态输出;如果作业仍然在运行中,Jenkins将不断刷新网页的内容,以便您可以看到它运行时的输出。如下图:

(有利于快速的找到你的问题所在,并不停的调试)

jenkins的配置和部署_第13张图片

注:图中第二行就是你的打包后文件输出的路径。

你可以直接前往打包后的输出路径获取.ipa 文件。打包iOS项目就完成了。

Q&A:

  • Jenkins Xcode 证书设置错误 Code Sign error: No matching codesigning identity found: No codesigning identities

Jenkins 集成Xcode 项目的时候在证书上遇到了问题。实际上如果在本地的话。只要Xcode工程里选择了项目就不需要重新设置证书了。jenkins会自动找到这个证书,只要在build setting 里设置的是正常的。并且在xcode 里能正常编译。

  • Check dependencies
    Code Sign error: No codesigning identities found: No codesigning identities (i.e. certificate and private key pairs) that match the provisioning profile specified in your build settings (“qingyunDeveloper”) were found.

如果遇到类似的错误 解决办法:
首先打开keychain keys 找到apple 的开发者证书。然后复制。 再选择左边的系统(system)把刚复制的证书放进去。
如果这个还没有解决。
接下来第二步:
找到你用户下的Provisioning Profiles 文件。目录为 /Users/xxx/Library/MobileDevice/Provisioning Profiles
xxx表示你自己的用户名,把这里面所有的证书复制到/Users/Shared/Jenkins/Library/MobileDevice/Provisioning Profile 这个文件。

你可能感兴趣的:(jenkins的配置和部署)