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

JenKins+Xcode+git实现ipa自动化打包

程序员文章站 2024-03-23 20:09:52
...

简介:JenKins是基于Java开发的一种持续集成工具,用于秩序监控重复工作。

安装:JenKins官网下载:https://jenkins.io/index.html

           也可以从我地方下载,传送门:https://download.csdn.net/download/weixin_42045633/10576832

         下载选项选择:Long-term Support (LTS)-》Mac OS X

下载完后得到安装包:jenkins-2.107.3.pkg,双击安装:(安装类型取消start at boot as "jenkins",即取消开机自启)

安装完成后,得到如下页面:

ps:如果安装完没有跳转该页面,执行命令:

open /Applications/Jenkins/jenkins.war 

或在浏览器直接打开:

http://localhost:8080/

JenKins+Xcode+git实现ipa自动化打包

打开终端,输入上图红色文字命令,即:/Users/Shared/Jenkins/Home/secrets/initialAdminPassword,可以得到一串密码,输入到Administrator password中即可,进入下一个页面。(sudo  vim  /Users/Shared/Jenkins/Home/secrets/initialAdminPassword
使用root权限打开,否则密码不可见)

选择安装插件:Install suggested plugins,然后注册,ok完成后即安装完成。(原来打开的jenkins要退出!要退出!即http://localhost:8080/exit)

Mac下命令启动和关闭Jenkins

启动jenkins服务:java -jar /Applications/Jenkins/jenkins.war –httpPort=8080

关闭jenkins服务:用ps命令找到jenkins的pid号,再kill -9 xxxx

jenkins安装遇到的问题:

1.jenkins安装默认主目录路径为/Users/Shared/Jenkins/Home,导致编译的时候证书没有权限,编译不通过

解决方案(更改jenkins主目录方法):

1.jenkins退出关闭(http://localhost:8080/exit或kill 相应pid(上面有介绍)),用命令ps查看jenkins是否真的关闭

2.转到/etc目录,打开文件profile,在以后添加export JENKINS_HOME=xxxxx(自定义主目录路径),保存

3.命令source /etc/profile,是配置文件生效(这一步不能忘记!!!)

4.启动jenkins服务,java -jar /Applications/Jenkins/jenkins.war –httpPort=8080

5.浏览器打开http:localhost:8080,界面跳转至解锁jenkins,会发现红色字的路径(前部分即主目录路径)就是刚刚自定义所需的路径,管理员密码即重复上面步骤,即完成修改主目录路径

2.jenkins改变主目录,原先的数据不见了,需要迁移

解决方案:(拷贝了网上的,亲测有效)

迁移的时候可以直接将jenkins主目录数据整个拷贝过去,

也可以单独拷贝jenkins主目录下的config.xml文件以及jobs、users、workspace、plugins四个目录

(这是主要的迁移数据)。

一般来说,手动设置好jenkins主目录路径,启动jenkins后就会自动生成

(但要确保jenkins用户有权限创建这个主目录,最好是提前手动创建并赋予jenkins启动用户的权限)

ps:jenkins卸载方法:到目录/Library/Application\ Support/Jenkins,该文件下有Uninstall.command,双击即可卸载

使用

1).点击新建,新建一个项目

2).输入项目名,选择"构建一个*风格的软件项目"

3).进入新建的项目后,可以看到6个选项,即:状态,修改记录,工作空间,立即构建,删除Project,配置。这里主要讲配置选项

4).点击配置,General里面填项目名称和描述

5).源码管理选择git,填写Repository URL,aaa@qq.com/xxx.git(注:该地址为SSH,不可以是HTTP的!),填完发现会红色报错,因为是SSH,要配置公钥和私钥!

6).配置公钥和私钥:

6.1).生成SSH**,打开终端,输入 ssh-****** -t rsa, 公钥内容在~/.ssh/id_rsa.pub,私钥内容在~/.ssh/id_rsa

6.2).把公钥加入到git中:打开GitLab,进入用户的settings,选择SSH Keys,将公钥内容复制到Key中,自己填写一个Title

6.3).在JenKins中配置git ssh(私钥):位置Jenkins->Credentials->System->Add credentials,kind选择SSH Username with private key ,scope选择Global(Jenkins,nodes,items,all child items,etc),private key 选Enter directly,将私钥内容复制到Key中,填写username和id(可与jenkins一致),OK完成

7).源码管理git配置中Credentials选择刚刚配置好的私钥username,报错消失,ok完成

8).构建Xcode

8.1).安装相关插件,不然构建下面没有xcode选项。下载插件地址:

https://updates.jenkins-ci.org/download/plugins/

下载两个插件:token-macro.hpi和xcode-plugin.hpi,在jenkins安装插件位置:jenkins->系统管理->管理插件->高级->上传插件,先上传安装token-macro.hpi,再上传安装code-plugin.hpi,安装完后重启,即可在构建中看到xcode选项。jenkins重启:

http://localhost:8080/restart

8.2).General build settings:(ps:${JENKINS_HOME}:jenkins安装目录,${JOB_NAME}:下载项目工程目录

      Target:xxx

      Clean before build:Yes

      Generate Archive:Yes

      Configuration:Release

      Export method:xxxx(development,ad-hoc,enterprise,app-store)

      .ipa filename pattern:xxx(ipa名字)

      Output directory:${JENKINS_HOME}/XXXX(输出目录位置)

8.3).Code signing & OS X keychain options

      Team ID:XXXX

      Keychain path:${Home}/library/Keychains/login.keychain-db

      Keychain password:***

8.4).Advanced Xcode build options(workspace项目)

      Clean test reports:Yes

       Xcode Schema File:xxx

       Xcode Workspace File:${JENKINS_HOME}/job/${JOB_NAME}/XXXX

       Build output directory::${JENKINS_HOME}/job/${JOB_NAME}/workspace/XXXX

9).配置完成,点击项目的立即构建!!!ok啦。。。

当然,构建还可以直接用shell脚本:

10).构建选择Execute shell,用xcodebuild打包,curl上传,具体参考我的博客:ios项目自动构建打包命令(xcodebuild)+上传(curl)