美文网首页JenkinsJenkins
jenkins的配置和部署

jenkins的配置和部署

作者: BigLuckyHaha | 来源:发表于2016-07-26 17:03 被阅读599次

    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的方法)

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

    2. jenkins的配置

    2.1 增加Xcode插件

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

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

    2.3 JDK配置

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

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

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

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

    2.4配置发件人地址

    2.5 subVwesion配置

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

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

    2.6 Configure Global Security(安全设置)

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

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

    2.7 管理用户设置

    在右上角点击注册

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

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

    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进入如下界面:

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

    3.2 源码管理配置

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

    点击 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, 在出现的方框中写下你的批处理命令行(如:本项目就是自动打包、发送命令行)即可

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

    3.5 立即构建

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

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

    无标题14.png

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

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

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

    3.6 调试

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

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

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

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

    你可以直接前往打包后的输出路径获取.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的配置和部署

        本文链接:https://www.haomeiwen.com/subject/gawnjttx.html