Jenkins+GitHub+Xcode+fir搭了一个持续集成环境
enkins+GitHub+Xcode+fir搭了一个持续集成环境
原文链接 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
访问成功后显示如下
3. 安装插件
在系统管理 -> 插件管理中添加如下四个插件
Xcode integration
GIT plugin
Post-Build Script Plug-in
GitHub plugin
下面这两个方式都可以找到插件管理
4. 新建一个项目
4.1 点击左侧工具栏"新建",选择第一项"构建一个自由风格的软件项目"
4.2 基本信息
4.3 源码管理信息
如果你是用的是Git,那就请选择Git,然后输入你的仓库地址
我这里的仓库地址是Github的公有项目。
4.4 自动构建时机
这里就是告诉jenkins什么时候自动构建,这里我同时设置了每周一到周五在每天的8点到9点之间执行一次,当然也可以不设置。
4.5 构建
添加构建步骤 -> Xcode基本信息
- 这里Target请于Xcode项目中Target的名字对应
- Clean before build设置为YES
- Configuration我选择了Release(在Release的时候Archive)
- .ipa filename pattern 随便起个.ipa的名字
- Output directory为.ipa的输出路径,我这里设置为 ${WORKSPACE}/build/
添加构建步骤 -> Xcode证书信息
我这里是在上传至Git的项目里已经配置过证书和Provisioning Profiles。
- 打开Unlock Keychain
- Keychain path 设置为 ${HOME}/Library/Keychains/login.keychain
- Keychain password 为你钥匙串的密码
4.6 构建后操作
添加构建后操作步骤
- Execute a set of scripts
- Add build step
- Execute shell
- 在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 使用说明
4.7 完成,点击保存。
4.8 点击立即构建。
构建成功标志位置为蓝色,失败为红色。
5 查看fir.im,应用上传成功。
6 问题总结
6.1 login.keychain的路径在哪?
点击"系统管理"中的"系统设置",Xcode Build中的Keychains
Keychains路径获取方式
Jenkins+GitHub+Xcode+fir搭了一个持续集成环境的更多相关文章
- Jenkins+MSbuild+SVN实现快速搭建.net持续集成环境(构建、编辑、部署到服务器)
Jenkins是一个可扩展的持续集成引擎,Jenkins非常易于安装和配置,简单易用,下面开始搭建.net持续集成环境 Jenkins和SVN安装这里就不介绍了 一.准备工作 1.Jenkins中系统 ...
- fir.im weekly - 「 持续集成 」实践教程合集
我们常看到许多团队和开发者分享他们的持续集成实践经验,本期 fir.im Weekly 收集了 iOS,Android,PHP ,NodeJS 等项目搭建持续集成的实践,以及一些国内外公司的内部持续集 ...
- 在Redhat上为.Net 项目构建基于Jenkins + Github + Mono 的持续集成环境
在Redhat enterprise 6.5 的服务器上,为在gutub 上的 .net 项目构建一个持续集成环境,用到了Jenkins和mono.因公司的服务器在内网,访问外网时要通过代理,所以在很 ...
- Net 项目构建基于Jenkins + Github + Mono 的持续集成环境
Net 项目构建基于Jenkins + Github + Mono 的持续集成环境 阅读目录 1 安装 2 配置 3 测试 在Redhat enterprise 6.5 的服务器上,为在gutub 上 ...
- Redhat上为java Maven项目构建基于Jenkins + Github的持续集成环境
在Redhat enterprise 6.5 的服务器上,为在gutub 上的 java mvaen项目构建一个持续集成环境,用到了Jenkins.因公司的服务器在内网,访问外网时要通过代理,所以为m ...
- 持续集成环境Jenkins的搭建和使用
这几天试着搭了个持续集成环境,我使用的是Jenkins,它的前身是Hadson,由于被Oracle收购了,所以换个名字继续开源,这个有点像MySQL. 持续集成总是跟敏捷开发什么的搞在一起,显得非常高 ...
- 使用Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(一)
前言 但凡一个略有规模的项目都需要一个持续集成环境的支撑,为什么需要持续集成环境,我们来看一个例子.假如一个项目,由A.B两位程序员来协作开发,A负责前端模块,B负责后端模块,前端依赖后端.A ...
- Jenkins+Maven+SVN快速搭建持续集成环境(转)
Jenkins是一个可扩展的持续集成引擎,Jenkins非常易于安装和配置,简单易用,下面看看我们是如何几分钟就快速搭建一个持续集成环境吧. 假设我们目前已经有2个maven项目:entities(J ...
- 基于 Jenkins 快速搭建持续集成环境--转
源地址:http://www.ibm.com/developerworks/cn/java/j-lo-jenkins/ 持续集成是一种软件开发实践,对于提高软件开发效率并保障软件开发质量提供了理论基础 ...
随机推荐
- python查询mangodb
from bson.objectid import ObjectId import pymongo #查询代码 #连接本机mongodb conn=pymongo.Connection() #指定 ...
- Walls and Gates -- LeetCode
You are given a m x n 2D grid initialized with these three possible values. -1 - A wall or an obstac ...
- Uva 11077 Find the Permutation
可以发现最优的方案就是一个循环节内互换. 所以一个有n个元素,c个循环节的置换的交换次数(最少)是n-c. 然后就可以递推了,把i插入到前i-1个元素构成的置换中,要么新成立一个循环,要么加入到之前的 ...
- lua异常捕获
解析json失败,想要捕获异常,可以使用pacll local cjson = require("cjson") local str = '[{"name":& ...
- 2.2多线程(java学习笔记)线程状态及线程操作的相关方法
一.线程的状态 线程一般具有五种状态,即创建.就绪.运行.阻塞.终止. 它们之间的关系: 二.线程操作相关方法 1.设置和取得线程名称. 如果不设置线程名称,系统会自动分配线程名,一般格式为Threa ...
- SqlServer发布订阅错误收集
原文:SqlServer发布订阅错误收集 目录 1. SqlServer发布订阅错误收集 1.1. Message:脚本对于表"dbo.table"失败. 1.1.1. 错误消息 ...
- Spcomm 属性详解
http://wenku.baidu.com/link?url=w53wCrhi_E33atqp0joeG029YO3H2z4Xy101oGbKqhG9bfWJQHSmcMi4q7l6xrS424St ...
- VUE -- Mac上解决Chrome浏览器跨域问题
最近做前端开发总是遇到一个很奇怪的现象,同一个AJAX请求,在Chrome里调试的时候就会提示跨域,但是在手机模拟器或者真机上调试的时候就不会,于是百度了一下,发现是Chrome的安全策略导致的,需要 ...
- 安全小测试:介绍一个简单web安全知识测试的网站
https://websecurity.firebaseapp.com/ 一次测试一共7道题,最后有答案,可以反复做,每次随机抽题
- 13 Basic Cat Command Examples in Linux
FROM: http://www.tecmint.com/13-basic-cat-command-examples-in-linux/ The cat (short for “concatenate ...