转自:http://blog.jxdev.me/blog/2015/03/26/jian-xin-de-chi-xu-ji-cheng-zhi-lu-%5B%3F%5D-da-jian-jenkinshuan-jing/

完成后结果

这个图是我刚才我的Jenkins服务器上截的图,能看见左侧的构建历史.这只是第一步,以后还要加入最重要的自动化测试,才算是一套完整的持续集成系统,那么首先你得迈出第一步.我以我现在参与开发iOS项目为例,记录一下搭建Jinkens的步骤,如果能帮到你,那么太好了.

最近接触了时下最火的敏捷开发模式,让整个团队保持高效率,并且要争取做到代码随时可发布的状态,而敏捷开发的一个重要的部分就是实现自动化测试以及自动化构建,尽快发现问题,把风险放到前期.在一个项目中,各个开发人员都会大量而且频繁的提交代码,而你的代码会不会影响到其他人的代码,会不会造成一些错误甚至是崩溃的情况,Jenkins会帮你把这些问题提早的暴露出来,Let’s do this!

Jenkins

Jenkins 是一个开源项目,提供了一种易于使用的持续集成系统,使开发者从繁杂的集成中解脱出来,专注于更为重要的业务逻辑实现上。同时 Jenkins 能实施监控集成中存在的错误,提供详细的日志文件和提醒功能,还能用图表的形式形象地展示项目构建的趋势和稳定性。过多的介绍就不详细说了,更多的详细信息请移步Jinkens官网.

安装

这里要详细说明一下,之前我是在官网下载的.pkg的安装程序,然后双击安装,安装结束以后会在本地的/Users/Shared (Mac)下生成Jenkins的目录,不过这样的话,在最后执行Shell脚本Build的过程中,没有任何反应,在网络上搜索的结果是可能是因为权限不够导致的,我遇到了这个问题,所以我不建议大家用这种安装方式.也一点也不酷,对不对?那么我们采用第二种安装方式:

brew install jenkins

对,我们也用brew安装Jenkins!非常简单,非常Geek!这里假定你的Mac已经安装了Java,之前Mac是自带Java的,不过到个某个版本之后,OS X不再自带Java了,你需要自己下载并安装,过程很简单,不再详细说明了.

在安装好Jenkins之后,同样在命令行执行:

java -jar /usr/local/opt/jenkins/libexec/jenkins.war

这是用来启动Jenkins的,看见第一个单词java了吗?其实Jenkins是一个Java程序,这就是为什么我再上面说过的要安装Java.这样启动的Jenkins不会在下次电脑重启的时候自动启动,你需要手动的设置一下,具体的请自行Google吧.

启动

启动Jenkins非常简单,在浏览器输入 http://localhost:8080/ 就可以看见它简陋的页面了…这个图我不是自己截取的,用了网上的一张图片,不过样子是一样的.

看了这个页面,你说我说它简陋过分吗?

插件

我觉得之所以Jenkins强大,真正强大的是它无所不及的插件,有了强大的插件,才能给你带来最强悍的功能.如果你用Git来管理代码,那么太好了.既然是第一步,那我们就按照最简单的来,在左侧菜单的系统设置中,找到插件管理.只安装一个Git插件来获取代码.在插件页面的可用插件里搜索Git,安装就好,过程太简单,不需要详细说明.

配置

插件安装好了,接下来,我们来配置项目吧.新建一个自由风格的软件项目,然后你就会来到项目配置的页面了.

因为你安装Git插件,所以你可以在源码管理里看见Git的选项,勾选它,然后配置,在Repository URL里填写你远程仓库的地址,如果是私有仓的话,需要填写验证,用户名和密码.比如我的这个项目托管在开源中国的 Git服务上,而我专门为Jenkins建立了一个用户拉取代码的用户.另外要注意,你需要从哪个分支拉取代码. 比如我要从dev分支拉取代码,在下面的Branches to build里要写上*/dev.

如果到这里没有问题的话,我建议你立即构建一下,看看能不能从代码仓把代码拉取回来,如果成功的话,你会看见类似第一张图片左侧的蓝色小圆球,如果失败,那么小圆球是红色的,说明你的代码没有被拉取成功,你可以点击小圆球右侧,查看Console Output看看具体出错在哪里.

接下来,配置一下构建触发器,如上图,这样配置的意思就是,每隔30分钟去代码仓拉取一下代码,如果两次的代码没有差异,那么不会构建,如果代码有变化的话,会继续自动构建.

开始准备构建吧,在构建中新建一个Exceute Shell,因为是持续集成的第一步,所以只完成Build就可以了, 在Command中输入你所要执行的脚本吧.这里要说明一下,最好先执行一下:

ls

查看一下当前目录,因为当前的目录可能不是你项目的.xcodeproj或者.xcworkspace文件所存在的目录. 因为是构建iOS项目,所以利用Xcode提供的Xcodebuild就行,可以只是build:

xcodebuild -worksapce TEST.xcworkspace -scheme TEST clean build

因为我用CocoaPods托管第三方类库,所以要执行的是.xcworkspace,这句话的意思就是对当前目录中的TEST项目里面的Test Target 执行 clean 然后再 build.简单吧?恩,第一步要慢慢来.

如果要生成.ipa文件也可以,只是稍微麻烦一点:

xcodebuild -workspace TEST.xcworkspace -scheme TEST -destination generic/platform=iOS -configuration Release archive -archivePath /Users/jxdwinter/Desktop/TEST.xcarchive
xcodebuild -exportArchive -exportFormat ipa -archivePath /Users/jxdwinter/Desktop/TEST.xcarchive -exportPath /Users/jxdwinter/Desktop/"$(date +%Y%m%d%H%M%S).ipa" -exportProvisioningProfile 'TEST'

这两句话会在我的桌面生成一个文件名为构建日期ipa文件,值得注意的地方就是最后的exportProvisioningPrefile,如果是iOS开发的话,你应该明白是什么意思吧?这也是最容易出错的地方.这里不是本文的重点,所以不再赘述了.

再构建一下看看左侧小圆球的颜色吧?如果成功的话,那么恭喜你完成了第一步,以后还有很多要做,只是单纯的build的话,那么Jenkins就失去了它的价值了.如果失败的话,那么可能是我没写明白…不过这真的很简单,希望本文能给你点帮助.

持续集成-jenkins 环境搭建的更多相关文章

  1. Hudson(Jenkins)持续集成插件开发环境搭建

    Hudson持续集成插件开发环境搭建 第一步安装java jdk,至于版本的话推荐1.6以上吧.安装好jdk设置环境变量,确保你在cmd中输入java -version有提示你jdk的版本信息等,也就 ...

  2. 持续集成 简介&环境搭建

    1. 持续集成简介 2. 持续集成环境搭建(Jenkins) 2.1 Git 安装 2.2 JDK 1.8 安装 2.3 Tomcat 安装 2.4 Maven 简介和安装 2.5 Jenkins 安 ...

  3. 持续集成---jenkins环境部署

    一.环境准备 操作系统:linux系统,此时我安装的是centos6.5,操作步骤具体见博客<虚拟机安装centos6.5> 依赖软件:1.jdk, 2.tomcat9(需要安装两个,一个 ...

  4. Jenkins+Gitlab搭建持续集成(CI)环境

    利用Jenkins+Gitlab搭建持续集成(CI)环境 Permalink: 2013-09-08 22:04:00 by hyhx2008in intern tags: jenkins gitla ...

  5. 持续集成-jenkins介绍与环境搭建

    什么是持续集成? 转自:https://blog.csdn.net/tanshizhen119/article/details/80328523 持续集成,俗称CI, 大师Martin Fowler对 ...

  6. 【iOS】Jenkins Gitlab持续集成打包平台搭建

    Jenkins Gitlab持续集成打包平台搭建 SkySeraph July. 18th 2016 Email:skyseraph00@163.com 更多精彩请直接访问SkySeraph个人站点: ...

  7. CentOS 7 部署Gitlab+Jenkins持续集成(CI)环境

    持续集成概述及运行流程 : 持续集成概述 :持续集成(Continuous integration)持续集成是指开发者在代码的开发过程中 ,可以频繁的将代码部署集成到主干,并进行自动化测试  开发→代 ...

  8. [原]项目进阶 之 持续构建环境搭建(四)Jenkins环境搭建

    在之前的几篇文章中,我给大家分别介绍了这次的持续化构建环境搭建的相关前提内容.如果说前面的文章都是小菜的话,那么今天的这篇文章就是我们这个系列文章的主菜. 1.前提 安装jenkins需要安装JDK. ...

  9. Jenkins环境搭建(7)-集成钉钉消息推送

    在去年的时候,搭建了一套Jenkins环境,基本功能已实现,可以通过如下地址查阅. Jenkins环境搭建(1)-下载与安装 Jenkins环境搭建(2)-搭建jmeter+ant+jenkins自动 ...

随机推荐

  1. 让Sublime Text成为静态WEB服务器:SublimeServer

    如果你使用Sublime Text作为你的编辑器,那么在进行HTML和Java开发的时候有一个很有用的功能,帮你完成前端的联调测试,那就是Sublime Text的服务器插件:SublimeServe ...

  2. BZOJ 4318 OSU! ——期望DP

    这次要求$x^3$的概率和. 直接维护三个值$x$ $x^2$ $x^3$的期望. 概率的平方不等于平方的概率. #include <map> #include <ctime> ...

  3. 刷题总结——卡牌配对(bzoj4205网络流)

    题目: Description 现在有一种卡牌游戏,每张卡牌上有三个属性值:A,B,C.把卡牌分为X,Y两类,分别有n1,n2张. 两张卡牌能够配对,当且仅当,存在至多一项属性值使得两张卡牌该项属性值 ...

  4. 标准C程序设计七---21

    Linux应用             编程深入            语言编程 标准C程序设计七---经典C11程序设计    以下内容为阅读:    <标准C程序设计>(第7版) 作者 ...

  5. Day 6 Linux基础之正文处理、vi编辑和系统初始化和服务

    Linux基础之正文处理.vi编辑和系统化服务 一.正文处理命令及tar命令 1.归档 定义:归档(archiving)就是将许多文件(或目录)打包成一个文件. 目的:归档的目的就是方便备份.还原及文 ...

  6. BZOJ——1611: [Usaco2008 Feb]Meteor Shower流星雨

    http://www.lydsy.com/JudgeOnline/problem.php?id=1611 Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 1 ...

  7. hdu 4975 A simple Gaussian elimination problem 最大流+找环

    原题链接 http://acm.hdu.edu.cn/showproblem.php?pid=4975 这是一道很裸的最大流,将每个点(i,j)看作是从Ri向Cj的一条容量为9的边,从源点除法连接每个 ...

  8. dropwizard问题记录1:如何进行mvn package打包,如何在项目目录下运行

    dropwizard的helloworld入门教程,跟着教程一步步写很容易,但是最后打包时暴露了自己底子太差的缺陷 mvn package操作 之前工作中完全没有接触过这种打包方式,都是直接打war包 ...

  9. Chrome查看同步状态

    最近Hosts不太稳定,翻出去之后安装了一些插件,那么会面临一些问题,比如插件是否已经同步成功,其它PC能否获取等等. 下面是一些查询同步状态的入口: https://www.google.com/s ...

  10. HDD磁盘,非4K无以致远

    机械硬盘的未来要靠高容量作为依托,在财报中,希捷表示未来18个月内它们将推出14和16TB机械硬盘,而2020年20TB机械硬盘就将诞生.也有资料显示,3.5英寸100TB硬盘大概在2025年就能面世 ...