enkins+GitHub+Xcode+fir搭了一个持续集成环境

字数826 阅读5699 评论44 喜欢49

原文链接 Coding Duck

今天用Jenkins+GitHub+Xcode+fir搭了一个持续集成环境,把过程记录一下。

1. 安装Jenkins

方法一:直接下载安装包

http://jenkins-ci.org

下载好安装包后打开

第一步

第二步

第三步

安装完成后在Terminal中输入,即可打开Jenkins。

open /Applications/Jenkins/jenkins.war

方法二:使用命令行安装

安装jenkins

$ brew install jenkins

启动jenkins

$ jenkins

卸载jenkins

$ brew uninstall jenkins

brew无效? 哦 安装homebrew

$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

2. 启动Jenkins后使用浏览器访问Jenkins

地址为:http://localhost:8080/

使用安装包安装后会自动打开,如果端口冲突那么请修改端口

defaults write /Library/Preferences/org.jenkins-ci httpPort 7070

访问成功后显示如下

成功启动jenkins

3. 安装插件

在系统管理 -> 插件管理中添加如下四个插件

Xcode integration

GIT plugin

Post-Build Script Plug-in

GitHub plugin

下面这两个方式都可以找到插件管理

插件管理1

插件管理2

4. 新建一个项目

4.1 点击左侧工具栏"新建",选择第一项"构建一个自由风格的软件项目"

创建一个新项目

4.2 基本信息

项目基本设置

4.3 源码管理信息

如果你是用的是Git,那就请选择Git,然后输入你的仓库地址

我这里的仓库地址是Github的公有项目。

源码管理

4.4 自动构建时机

这里就是告诉jenkins什么时候自动构建,这里我同时设置了每周一到周五在每天的8点到9点之间执行一次,当然也可以不设置。

构建时机设置

4.5 构建

添加构建步骤 -> Xcode基本信息

  1. 这里Target请于Xcode项目中Target的名字对应
  2. Clean before build设置为YES
  3. Configuration我选择了Release(在Release的时候Archive)
  4. .ipa filename pattern 随便起个.ipa的名字
  5. Output directory为.ipa的输出路径,我这里设置为 ${WORKSPACE}/build/

Xcode构建设置

添加构建步骤 -> Xcode证书信息

我这里是在上传至Git的项目里已经配置过证书和Provisioning Profiles。

  1. 打开Unlock Keychain
  2. Keychain path 设置为 ${HOME}/Library/Keychains/login.keychain
  3. Keychain password 为你钥匙串的密码

Xcode构建步骤

4.6 构建后操作

添加构建后操作步骤

  1. Execute a set of scripts
  2. Add build step
  3. Execute shell
  4. 在Commad中输入
fir p ${WORKSPACE}/build/TestJenkins.ipa -T #API Token#

其中${WORKSPACE}/build/为4.5中.ipa的输出路径,#API Token#为fir.im的API Token。新版fir.im获取方式见下面。

请注意,在使用该命令前请先确认安装fir-cli,安装命令如下。
sudo gem install fir-cli --no-ri --no-rdoc

上面的命令来自 fir.im 的工具 fir-cli,这是他们的官方使用说明 官方工具 fir-cli 使用说明

构建后操作

获取fir API Token

4.7 完成,点击保存。

4.8 点击立即构建。

构建成功标志位置为蓝色,失败为红色。

点击立即构建

5 查看fir.im,应用上传成功。

6 问题总结

6.1 login.keychain的路径在哪?

点击"系统管理"中的"系统设置",Xcode Build中的Keychains

Keychains路径获取方式

Jenkins+GitHub+Xcode+fir搭了一个持续集成环境的更多相关文章

  1. Jenkins+MSbuild+SVN实现快速搭建.net持续集成环境(构建、编辑、部署到服务器)

    Jenkins是一个可扩展的持续集成引擎,Jenkins非常易于安装和配置,简单易用,下面开始搭建.net持续集成环境 Jenkins和SVN安装这里就不介绍了 一.准备工作 1.Jenkins中系统 ...

  2. fir.im weekly - 「 持续集成 」实践教程合集

    我们常看到许多团队和开发者分享他们的持续集成实践经验,本期 fir.im Weekly 收集了 iOS,Android,PHP ,NodeJS 等项目搭建持续集成的实践,以及一些国内外公司的内部持续集 ...

  3. 在Redhat上为.Net 项目构建基于Jenkins + Github + Mono 的持续集成环境

    在Redhat enterprise 6.5 的服务器上,为在gutub 上的 .net 项目构建一个持续集成环境,用到了Jenkins和mono.因公司的服务器在内网,访问外网时要通过代理,所以在很 ...

  4. Net 项目构建基于Jenkins + Github + Mono 的持续集成环境

    Net 项目构建基于Jenkins + Github + Mono 的持续集成环境 阅读目录 1 安装 2 配置 3 测试 在Redhat enterprise 6.5 的服务器上,为在gutub 上 ...

  5. Redhat上为java Maven项目构建基于Jenkins + Github的持续集成环境

    在Redhat enterprise 6.5 的服务器上,为在gutub 上的 java mvaen项目构建一个持续集成环境,用到了Jenkins.因公司的服务器在内网,访问外网时要通过代理,所以为m ...

  6. 持续集成环境Jenkins的搭建和使用

    这几天试着搭了个持续集成环境,我使用的是Jenkins,它的前身是Hadson,由于被Oracle收购了,所以换个名字继续开源,这个有点像MySQL. 持续集成总是跟敏捷开发什么的搞在一起,显得非常高 ...

  7. 使用Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(一)

    前言     但凡一个略有规模的项目都需要一个持续集成环境的支撑,为什么需要持续集成环境,我们来看一个例子.假如一个项目,由A.B两位程序员来协作开发,A负责前端模块,B负责后端模块,前端依赖后端.A ...

  8. Jenkins+Maven+SVN快速搭建持续集成环境(转)

    Jenkins是一个可扩展的持续集成引擎,Jenkins非常易于安装和配置,简单易用,下面看看我们是如何几分钟就快速搭建一个持续集成环境吧. 假设我们目前已经有2个maven项目:entities(J ...

  9. 基于 Jenkins 快速搭建持续集成环境--转

    源地址:http://www.ibm.com/developerworks/cn/java/j-lo-jenkins/ 持续集成是一种软件开发实践,对于提高软件开发效率并保障软件开发质量提供了理论基础 ...

随机推荐

  1. [BZOJ3920]Yuuna的礼物

    题目大意: 给你一个长度为$n(n\le40000)$的数列$\{a_i\}(1\le a_i\le n)$,给出$m(m\le40000)$次询问,每次给出$l,r,k_1,k_2$询问区间$[l, ...

  2. ubuntu配置无密码登录

    1 本地生成ssh公钥和私钥, 2将公钥拷贝到ubuntu上的.ssh/authorized_keys 中

  3. Hibernate中cascade和inverse的作用

    Inverse和cascade是Hibernate映射中最难掌握的两个属性.两者都在对象的关联操作中发挥作用.1.明确inverse和cascade的作用inverse 决定是否把对对象中集合的改动反 ...

  4. linux 下查看硬件信息(mac,IP地址,硬盘型号,序列号等)

    一.查看网卡mac地址 #安装lshw [root@server ~]# yum install lshw #使用方法 [root@rsync-server ~]# lshw -c network * ...

  5. Spring MVC 解读——<mvc:annotation-driven/>

    Spring MVC 解读——<mvc:annotation-driven/> 一.AnnotationDrivenBeanDefinitionParser 通常如果我们希望通过注解的方式 ...

  6. spring boot 缺点优点?

    作者:八面山人链接:https://www.zhihu.com/question/39483566/answer/246333825来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请 ...

  7. [转载]Elasticsearch Java API总汇

    from: http://blog.csdn.net/changong28/article/details/38445805#comments 3.1 集群的连接 3.1.1 作为Elasticsea ...

  8. DevExpress控件之LayoutControl

    一.项目运行中不显示右键菜单 layoutControl1.AllowCustomization = false 二.控件超出容器后不显示滚动条 layoutControl1.AtuoScroll = ...

  9. 自己动手写android图片异步载入库

    尊重他人劳动成果,转载请说明出处:http://blog.csdn.net/bingospunky/article/details/44344085 接触android有半年了.关于图片异步载入.一直 ...

  10. 不删除记录的表CRUD的常见处置

    为什么不删除记录,因为这些记录只是暂时不用了,以后还是有可能会用到的,比如说统计:另外一些主键外键依赖级联删除的场合也不好真删的,容易批量删除.真删了就不容易恢复回来了. 一般做法是,增加一个avai ...