欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

iOS的自动打包 【 Xcode + git + jenkins 】

程序员文章站 2022-04-12 21:34:10
...

iOS的自动更新git代码、打包。


环境配置:

mac10.12 + Xcode8.3.1 + git + jenkins


大体思路:
a。安装jdk、jenkins

b。配置git的ssh

c。设置jenkins的用户密码

d。添加jenkins的job


一:安装Jenkins环境

需要先安装JDK,再安装Jenkins。因为Jenkins是在Java环境中运行的。

JDK下载路径:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

iOS的自动打包 【 Xcode + git + jenkins 】


jenkins下载路径:https://jenkins.io/index.html

iOS的自动打包 【 Xcode + git + jenkins 】


安装完毕后,需要认证,直接去相应的文件夹下拷贝Jenkins的密码即可。

创建用户。

登录过后,会让选择安装插件,我通常是选择安装所有插件。

然后再安装我们用到的插件:系统管理->安装插件

Xcode插件:XcodePlugin-Installationguide

git插件:Git+Plugin


确保电脑安装了XCode。


二:配置git的SSH

场景:jenkins需要连接到git下载最新的代码,并且git会认证来访人员,jenkins提供了两种认证方法,第一种是git账号密码(经测试不好使,可能是我们本地git服务器做了别的配置),第二种是ssh认证(经测试好使)。所以我们选择了第二种方法。


第一步:生成ssh

ssh-****** -t rsa -C "aaa@qq.com"

运行过

# Creates a new ssh key using the provided email
Generating public/private rsa key pair.
Enter file in which to save the key (/your_home_path/.ssh/id_rsa):

询问是否要输入保存的路径,直接按回车。


接下来要输入两次密码。密码为:123456


这时候会生成两个文件:id_rsa、id_rsa.pub。
id_rsa:私钥
id_rsa.pub:公钥


第二步:拷贝SSH公钥到git项目中

pbcopy < ~/.ssh/id_rsa.pub

iOS的自动打包 【 Xcode + git + jenkins 】


iOS的自动打包 【 Xcode + git + jenkins 】




三:设置jenkins的用户密码

iOS的自动打包 【 Xcode + git + jenkins 】


修改密码为:000


四:添加jenkins的job

1.创建job。

iOS的自动打包 【 Xcode + git + jenkins 】


iOS的自动打包 【 Xcode + git + jenkins 】


2.配置git仓库地址

iOS的自动打包 【 Xcode + git + jenkins 】


选择Git,

Repository RUL:git的仓库地址

Credentials:账号证书,点击Add,打开了下边的页面

iOS的自动打包 【 Xcode + git + jenkins 】


Kind:SSH Username with private key

Private Key:选择Enter directly,并在key里输入 SSH的秘钥,在命令行中输入:

pbcopy < ~/.ssh/id_rsa

点击 Add。

这时候git路径和SSH就配置好了,应该如下图所示


iOS的自动打包 【 Xcode + git + jenkins 】



3.  

    配置上边的内容后,点击 -> 保存 -> 立即构建,这时并不能成功,目的是把工程文件clone到Jenkins的目录下,然后单独运行工程,生成证书而已。

    a. 注销现在的用户,切换到Jenkins的用户下(本例中Jenkins密码是:000)。

    b. 导入工程需要的 p12、Provision证书。

    c. 进入/Users/Shared/Jenkins/Home/workspace 的工程目录下,运行工程,并archive工程,以便生成本工程用的证书。archive生成 hoc包、developer包等。

    d. 然后注销Jenkins用户,切换到普通用户。


4. 普通账户用用Safari进入Jenkins后,点击项目->配置,继续下边的配置: 构建触发器、构建环境,不做修改。

iOS的自动打包 【 Xcode + git + jenkins 】


iOS的自动打包 【 Xcode + git + jenkins 】


5.构建选择Xcode

iOS的自动打包 【 Xcode + git + jenkins 】



iOS的自动打包 【 Xcode + git + jenkins 】


Configuration:Release、Debug等,查看方法,进入工程文件做在的目录,打开命令行,输入下面命令,即可查看。

xcodebuild -list


6. Pack application, build and sign .ipa?

iOS的自动打包 【 Xcode + git + jenkins 】



7. Code signing & OS X keychain options

iOS的自动打包 【 Xcode + git + jenkins 】


Development Team ID:团队ID,Keychain找到开发者证书 iPhone Distribution: **** (329***),括号内的就是Team ID

Keychain path:${HOME}/Library/Keychains/login.keychain-db,注意我用的macos是10.12.5,系统把login.keychain修改为了login.keychain-db

Keychain passwrod:注意,是我们在 《三:设置jenkins的用户密码》中设置的用户登录密码,即:000


8. Advanced Xcode build options

iOS的自动打包 【 Xcode + git + jenkins 】


Xcode Schema File:是工程的Schema


iOS的自动打包 【 Xcode + git + jenkins 】


Xcode Project Directory:工程在Jenkins下的目录,例如:${JENKINS_HOME}/workspace/trunk/TestD

Xcode Project File:工程文件,例如:${JENKINS_HOME}/workspace/trunk/TestD.xcodeproj

Build output directory:${JENKINS_HOME}/jobs/${JOB_NAME}/workspace/build



配置完后,点击保存,然后点击 立即构建 ,就会生成.ipa包了。