【iOS】Jenkins持续集成iOS包

  今天项目经理说让APP端做一下用Jenkins做持续集成,因为之前没有做过,所以就开始了解,终于在键哥的帮助下,完成了持续集成的功能,感动的不行,在这里感谢键哥。

  因为公司的Jenkins是搭建好的,接下来我就直接上配置过程了。

  由于公司的Jenkins的环境不是在Mac上的,所以要做自动集成打包的话,就只能把agent(节点)设置到我自己的电脑了,创建agent的过程如图。

  

其中远程工作目录就是你本地的Jenkins的安装路径。

接下来就是在Jenkins中新建项目了,点击新建,然后选择创建自由风格项目

接下来进入项目配置:

首先要配置的在元数据中配置,指定要运行工程的节点为我们之前创建的节点

然后在源码管理中设置源码管理方式,git地址以及认证方式,同时指定要build的分支

接下来就是构建触发器的设置,在这里设置自动构建的时间

然后就到重点了,添加构建的shell脚本

shell脚本如下

#!/bin/sh

### 配置定义
PROJECT_NAME="项目名称"
### ipa打包的路径 $(WORKSPACE)表示工作空间路径下
ipaPath="${WORKSPACE}/ipa"
### archive的路径
xcarchivePath="${WORKSPACE}/xcarchive"

CONFIGURATION="Release"

### develop 分支描述文件
#PROFILE_NAME="InHouse_loanCustomer"

### master 分支描述文件
#PROFILE_NAME="FinupCredit-Development"
PROFILE_NAME="FinupPlatform_Adhoc"
### 指定ipa名称

IPAFILE_NAME="${PROJECT_NAME}_${BUILD_NUMBER}.ipa"

# unlock login keygen
#security unlock-keychain -p ${KEYCHAIN_PASSWORD} ${KEYCHAIN_PATH} || failed "unlock-keygen"

# clean
echo "xcodebuild clean"
xcodebuild clean -workspace ${WORKSPACE}/${PROJECT_NAME}/${PROJECT_NAME}.xcworkspace                   -scheme ${PROJECT_NAME}                  -configuration ${CONFIGURATION}                  || failed "xcodebuild clean"
# archive
echo "xcodebuild archive"
xcodebuild archive -workspace ${WORKSPACE}/${PROJECT_NAME}/${PROJECT_NAME}.xcworkspace                    -scheme ${PROJECT_NAME}                    -configuration ${CONFIGURATION}                    -destination generic/platform=iOS                    -archivePath ${xcarchivePath}/${IPAFILE_NAME}.xcarchive                    || failed "xcodebuild archive"
# export ipa
echo "xcodebuild exportArchive"
xcodebuild -exportArchive -archivePath ${xcarchivePath}/${IPAFILE_NAME}.xcarchive                           -exportPath ${ipaPath}/${IPAFILE_NAME}                           -exportOptionsPlist ${WORKSPACE}/options.plist                           -verbose                           || failed "xcodebuild export archive"

                          #-exportFormat ipa \
                          #-exportProvisioningProfile ${PROFILE_NAME} \
                          #-verbose \
# run sonar
#pushd ${WORKSPACE}/iphone/${PROJECT_NAME}
#./run-sonar.sh
#popd

设置好脚本之后就可以构建了。

然而到这里还是有问题,好像是在XCode9之后在命令行打包需要额外的options.plist文件,这个文件要放到与工程的同级目录下

options.plist如下

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>compileBitcode</key>
	<true/>
	<key>method</key>
	<string>ad-hoc</string>
	<!-- 描述文件 -->
	<key>provisioningProfiles</key>
	<dict>
		<key>*****</key>
		<string>****</string>
	</dict>
	<key>signingCertificate</key>
	<string>iPhone Distribution</string>
	<key>signingStyle</key>
	<string>manual</string>
	<key>stripSwiftSymbols</key>
	<true/>
	<!-- 团队id -->
	<key>teamID</key>
	<string>团队id</string>
	<key>thinning</key>
	<string><none></string>
</dict>
</plist>

至此就可以执行构建了

原文地址:https://www.cnblogs.com/pretty-guy/p/9326724.html

时间: 2024-08-02 19:17:02

【iOS】Jenkins持续集成iOS包的相关文章

Jenkins持续集成iOS项目

主要写几个步骤和注意事项 1.Jekins官网 https://jenkins.io/ 下载包 2.启动Jekins(cd到下载包路径)终端执行以下命令 java -jar jenkins.war --httpPort=8080 3.网页开开 http://localhost:8080 4.下面是配置截图 1??系统管理 2??.配置 3??.源码管理 4??.构建触发器 5??.构建环境 6??.构建 打包脚本(pod工程) # 工程名 APP_NAME="******" # 证书

利用 Jenkins 持续集成 iOS 项目,搭建自动化打包环境

---恢复内容开始--- jenkins是一个广泛用于持续构建的可视化web工具,持续构建即各种项目的"自动化"编译.打包.分发部署.jenkins可以很好的支持各种语言(比如:Java, c#, PHP等)的项目构建,也完全兼容ant.maven.gradle等多种第三方构建工具,同时跟svn.Git能无缝集成,也支持直接与知名源代码托管网站,比如github.bitbucket直接集成. 一.安装 Jenkins: 两种方式: 1) 终端命令输入:brew install jenk

jenkins 持续集成iOS开发

1,安装jenkins,brew install jenkins 2,在浏览器输入localhost:8080会出现一个网页,要求输入密码,初始密码在命令行里复制过来就行了,形如:a5f9a94c8cad4058be8d19ba9fa79b48 3,预安装一些服务,之后会初始化用户名密码. Jenkins is ready! 至此,jenkins已经安装完成.

使用 Jenkins 搭建 iOS/Android 持续集成打包平台【转】

背景描述 根据项目需求,现要在团队内部搭建一个统一的打包平台,实现对iOS和Android项目的打包.而且为了方便团队内部的测试包分发,希望在打包完成后能生成一个二维码,体验用户(产品.运营.测试等人员)通过手机扫描二维码后就能直接安装测试包. 该需求具有一定的普遍性,基本上所有开发APP的团队都可能会用到,因此我将整个需求实现的过程整理后形成此文,并且真正地做到了零基础上手,到手即飞.开箱即用,希望能对大家有所帮助. 首先,先给大家展示下平台建设完成后的整体效果: 该平台主要实现的功能有3点:

Jenkins 持续集成使用教程

Jenkins 持续集成使用教程 用 jenkins 有什么好处 通过规范化来完成,简单,繁琐,浪费时间的重复工作 规范化工作,以免出现低级错误 实现随时随地任何人一键构建 ...... 安装 jenkins 以 Mac 设备为例(Windows 步骤类似),帮你一步一步搭建好 jenkins.jenkins 属于 java 项目 依赖于 java,需要先安装 java jdk,具体安装方式请自行百度. 安装 jenkins 有常用的三种方式. 使用 pgk 安装包安装 在 官网 下载 pgk

Jenkins持续集成构建

配置Sonar.Jenkins进行持续审查 http://go2live.cn/archives/38261.html Jenkins iOS 项目持续集成 http://go2live.cn/archives/23173.html 用Jenkins搭建Android自动打包环境 http://go2live.cn/archives/32350.html 使用的项目: Manven  Grandle...Web.Android.IOS 构建触发器: Poll SCM-- 脚本支持: Window

Jenkins持续集成学习及企业级应用

文档声明 该文档主体为去年末自主学习时总结,旨在为我司提供一套企业级持续集成解决方案.这篇文章现在看上去很稚嫩,但是当时花费了许多心血.希望将当时的学习心得拿出来与大家交流.该文档主要说明了jenkins持续集成部署的相关步骤,并着重实现了权限分组,邮件配置,插件配置的jenkins实现过程.对出现的问题进行解决,是一套持续集成的解决方案. 持续集成Continuous integration 提出 针对复杂度高的项目提出“早集成,常集成,频繁集成”来帮助项目在早期发现项目风险和质量问题 作用

4、Jenkins持续集成之maven编译

4.Jenkins持续集成之maven编译.md 简介     Jenkins是一个开源的持续集成工具,应用Jenkins搭建持续集成环境,可以进行自动构建.自动编译和部署,非常方便.在服务器比较少的情况下,Jenkins的优势并不明显,但是随着项目发展,服务器数量的增加,Jenkins的优势就会凸显出来,可以很好的提高效率,减少很多人工操作.现在公司的开发都是使用Git管理代码,Maven管理多模块和项目依赖.Jenkins支持两种工程:FreeStyle工程和Maven工程.如果代码是用Ma

Jenkins持续集成。

Jenkins持续集成 自动化运维 Jenkins所有包下载 链接:https://pan.baidu.com/s/1SXg-Av99xeyR3OdvJhv7Dg 提取码:dara Jenkins环境搭建 由于Jenkins是依赖于java的,所以先介绍java环境的搭建 (1)使用官方的二进制包解压安装(上方有下载链接) 官方二进制包的下载地址 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133