一、关键点

1、how to start the build server? do i need to start some app to do this?

I don't believe so... The Jenkins service should start automatically.When I restart the build server in our office, I don't have to do anything to start the Jenkins service.

2、Jenkins configuration

You should be able to access the Jenkins config page by going to http://{build server IP}:8080. build server IP:可以从System Preference->Network参考当前build server的IP就好。

3、 if i want to stop the service, do you know how to do?

http:://{build server IP}:8080/manage and scroll to the bottom, you should see "Prepare for Shutdown"

4. Jenkins global scripts

The global scripts should be in /var/jenkins, and the platform-specific scripts are in /var/jenkins/ios and /var/jenkins/android. It looks like jenkins-develop and jenkins-local are the only "real" folders./var/jenkins is a symlink to jenkins-local.

5. do you know why jenkins know xcode-builder service?/var/jenkins/ios, just need like the folder structure?

I think because Jenkins uses xcodebuild under the hood to make builds for iOS (as well as for running  unit tests if enabled)

6. change provisioning profiles

if you ever need to change provisioning profiles, you need to make sure to sign into the build server, open Xcode, and refresh the profiles

二、Jenkins build iOS app遇到问题解决方案

三、关于安装插件

所有插件链接: http://updates.jenkins-ci.org/download/plugins/

1. solve jenkins 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 were found.

http://code-dojo.blogspot.co.uk/2012/09/fix-ios-code-signing-issue-when-using.html

就是创建这样的目录结构/Users/Shared/Jenkins/Library/MobileDevice/Provisioning Profile,然后将需要用到的provisioning profile文件放到Provisioning Profile目录下。

另外,你可以查看一下keychain中,一般证书会被安装到login那个item中,需要将其copy一份到system中。

1. solve jenkins  ResourceRules.plist: cannot read resources

Found the fix !

Click on your project > Targets > Select your target > Build Settings >

Code Signing Resource Rules Path

and add :

$(SDKROOT)/ResourceRules.plist

MAC OX10.10后的版本已经不能这样修改了,因为已经被封掉了。这个问题真真是让我的脑神经震惊了一下下。另外,如果你想用jenkins打包生成的ipa包,直接上架到APP STORE,工程配置中Code Signing Resource Rules Path则不能有这个字段。所以,解决方法,可以参照此链接 : http://stackoverflow.com/questions/32504355/error-itms-90339-this-bundle-is-invalid-the-info-plist-contains-an-invalid-ke/32762413#32762413 其实做法如下:

I am the same boat as DongHui Li. I am using Jenkins too. If I remove CODE_SIGN_RESOURCE_RULES_PATH=$(SDKROOT)/ResourceRules.plist I am NOT able to build. And if I add it, I can build but NOT able to submit to Apple.

UPDATE -> I am able to build and upload to apple using Jenkins now.
What I did is:

  1. Remove CODE_SIGN_RESOURCE_RULES_PATH=$(SDKROOT)/ResourceRules.plist
  2. Find the /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/PackageApplication script and update it.
    Find the lines including the following code in the script

    my @codesign_args = ("/usr/bin/codesign", "--force", "--preserve-metadata=identifier,entitlements,resource-rules",
    "--sign", $opt{sign},
    "--resource-rules=$destApp/ResourceRules.plist");

    change it to:

    my @codesign_args = ("/usr/bin/codesign", "--force", "--preserve-metadata=identifier,entitlements",
    "--sign", $opt{sign});

1. solve 应用图标

Click on your project > Targets > Select your target > Info

加Icon file(或者CFBundleFileIcon), string, 例如我把其value写成Icon,则需要把Icon.png这个文件copy到这个bundle中

1. xcode-select

xcode-select --help可以查看一下它的常见用法。对于, switch这个功能有时候无法这种有效。可以尝试vi ~/.bash_profile这个文件,其中有设置xcode的环境变量。具体可以参照此link: https://forums.developer.apple.com/thread/13629

同样,可以通过xcode来设置command line使用的xcode. Xcode->Preference->Locations->Command Line Tools

1. Mac os install jenkins

http://zanshin.net/2012/02/27/setup-jenkins-for-ios-builds/

How to use Jenkins的更多相关文章

  1. Jenkins 安装的HTML Publisher Plugin 插件无法展示ant生成的JunitReport报告

    最近在做基于jenkins ant  junit 的测试持续集成,单独ant junit生成的junitreport报告打开正常,使用Jenkins的HTML Publisher Plugin 插件无 ...

  2. Python-Jenkins API使用 —— 在后端代码中操控Jenkins

    最近在工作中需要用到在后台代码中触发Jenkins任务的构建,于是想到Jenkins是否有一些已经封装好的API类库提供,用于处理跟Jenkins相关的操作.下面就简单介绍下我的发现. Linux C ...

  3. 在centos7上安装Jenkins

    在centos7上安装Jenkins 安装 添加yum repos,然后安装 sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins ...

  4. 项目持续集成环境(jenkins + SVN + maven + tomcat)

    整体流程 每次SVN上代码有变动,触发自动构建动作,并部署到服务器的tomcat上,具体流程: 1.SVN上提交代码修改 2.maven执行Goals 3.将web工程打成war包 4.关闭服务器的t ...

  5. Jenkins的一个bug-同时build一个项目两次导致失败

    我们有一个job A, A只是配置了一些参数,它会去触发模板job B. 我一开始点击构建A, 马上发现参数配置不对,于是撤消了构建,但是我没有发现B已经被触发,我重新配置参数,然后再次构建A,这个时 ...

  6. 使用Jenkins配置Git+Maven的自动化构建

    Jenkins是一个开源的持续集成工具,应用Jenkins搭建持续集成环境,可以进行自动构建.自动编译和部署,非常方便. 在服务器比较少的情况下,Jenkins的优势并不明显,但是随着项目发展,服务器 ...

  7. Jenkins配置MSBuild实现自动部署(MSBuild+SVN/Subversion+FTP+BAT)

    所要用到的主要插件: [MSBuild Plugin] 具体操作: 1.配置MSBuild的版本 [系统管理]->[Global Tool Configuration]->[MSBuild ...

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

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

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

    前言     上一篇随笔Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(一)介绍maven和nexus的环境搭建,以及如何使用maven和nexus统一管理库 ...

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

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

随机推荐

  1. 【BZOJ3325】[Scoi2013]密码 Manacher

    [BZOJ3325][Scoi2013]密码 Description Fish是一条生活在海里的鱼.有一天他很无聊,就到处去寻宝.他找到了位于海底深处的宫殿,但是一扇带有密码锁的大门却阻止了他的前进. ...

  2. Java格式化日期的三种方式

    1)借助DateFormat类: public String toString(Date d) { SimpleDateFormat sdf = new SimpleDateFormat(“yyyy- ...

  3. Servlet学习笔记【2】---Http数据包

    本文主要讲Http协议相关知识. 1 Http协议特点 单向性:客户端和服务端是单向通信的,只有客户端发请求,服务端才会响应产生.(异于推送模式) 无状态:协议本身并没有状态的记录,当客户端多次访问服 ...

  4. el-tree 设置目录树中的某个节点为高亮状态

    现在可以实现,点击某个节点,该节点会红色高亮,那怎么让这个树加载出来的时候 默认某个节点高亮呢?element ui里面带勾选框的可以默认勾选上,这个没有勾选框 其实很简单.element ui的树形 ...

  5. Python3.6全栈开发实例[021]

    21.给出一个纯数字列表. 请对列表进行排序(升级题). 思路: (1)完成a和b的数据交换. 例如, a = 10, b = 24 交换之后, a = 24, b = 10(2)循环列表. 判断a[ ...

  6. python面向对象(一)

    什么是面向对象的程序设计及为什么要有它 面向过程的程序设计:核心是过程二字,过程指的是解决问题的步骤,即先干什么再干什么......面向过程的设计就好比精心设计好一条流水线,是一种机械式的思维方式. ...

  7. Android系统移植与调试之------->如何修改Android系统默认显示【开发者选项】并默认打开【USB调试】和【未知来源】开关

    今天有个用户对[设置]有个特殊的要求,即: 1.开机的时候默认显示[开发者选项]并打开[USB调试]开关    ([Developer options]-->[USB debugging]) 2 ...

  8. Symfony4 数据库连接

    代码 https://github.com/liudianpeng/BlogMVC-Symfony4 在 .env 文件可以调整一下数据库连接信息 ###> doctrine/doctrine- ...

  9. Android 开发之:Intent.createChooser() 妙用

    大家对该功能第一印象就是ApiDemo 里面的 其只有区区几行代码  提取为: Intent intent = new Intent(Intent.ACTION_GET_CONTENT); inten ...

  10. Redis3.2.8配置参数及说明

    bind 127.0.0.1# 绑定的主机地址,不设置默认将处理所有请求protected-mode yes# 是否开启保护模式,默认开启,要是配置里面没有指定bind和密码,开启该参数后,redis ...