一、关键点

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. php 工厂方法模式

    #使用工厂方法模式是不知道要创建类的对象有哪些.interface IFactory{ public function CreateOperation();#工厂方法模式只有单个产品 } class ...

  2. 路径 php中'.'和'..'还有'./'和'../'

    ./当前目录(就是当前执行文件所在目录) ../上级目录 / 这个才是根目文件名/ 同级目录 例子如图 1.cart下的index.php 1)要引用Public->css->index. ...

  3. 自定义log4j日志级别

    转载自:  http://blog.csdn.net/seven_cm/article/details/26849821 自定义log4j日志级别 参考了网上资料:http://www.360doc. ...

  4. python基础——函数参数

    课上老师已经讲过函数(func)的参数(args)传递. 之前学习了根据位置传递对应的参数,下面会介绍其他参数传递方式. 之前的位置传参: def f(a,b,c): return a+b+c pri ...

  5. centos系统时间相差8个小时解决方案

    查看当前系统时间 [root@centos64 ~]# date 查看硬件时间 [root@centos64 ~]# hwclock --show 同步时间可以用:ntpdate us.pool.nt ...

  6. 第K层的结点数

    int GetNodeNumKthLevel(BiTNode * pRoot, int k) { if(pRoot == NULL || k < 1) return 0; if(k == 1) ...

  7. github 上 python 的优秀库推荐列表

    awesome-python: https://github.com/vinta/awesome-python

  8. 【转】Python爬虫(3)_Beautifulsoup模块

    一 介绍 Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库.它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式.Beautiful Soup会帮你 ...

  9. python Selenium库的使用

    一.什么是Selenium selenium 是一套完整的web应用程序测试系统,包含了测试的录制(selenium IDE),编写及运行(Selenium Remote Control)和测试的并行 ...

  10. PAT 天梯赛 L1-028. 判断素数 【水】

    题目链接 https://www.patest.cn/contests/gplt/L1-028 AC代码 #include <iostream> #include <cstdio&g ...