天天看点

【iOS】Jenkins+GitLab自动化打包,并发布到蒲谷英和App Store

文章目录

      • 1、Jenkins安装
        • 1.1 前期准备
        • 1.2 使用命令安装
        • 1.3 Jenkins激活
        • 1.4 点击建议安装(插件)
        • 1.5 创建jenkins管理用户
      • 2、安装插件
      • 3、ssh配置和GitLab账号密码配置
        • 3.1 ssh配置
        • 3.2 GitLab账号密码配置
      • 4、创建项目
      • 5、 构建打包任务
      • 6、 上传蒲公英命令
      • 7、上传App Store

1、Jenkins安装

1.1 前期准备

jenkins是基于Java开发的一种持续集成工具,需要安装Java的JDK,Mac环境是默认就有,直接忽略这一步就行。

1.2 使用命令安装

命令行直接输入
安装:brew install jenkins
停止运行:brew services stop jenkins
启动:brew services start jenkins/直接写jenkins
重启:brew services restart jenkins
           

1.3 Jenkins激活

安装成功后,在浏览器打开

http://localhost:8080

【iOS】Jenkins+GitLab自动化打包,并发布到蒲谷英和App Store

从Jenkins控制台日志输出中,复制自动生成的字母数字密码(在两组星号之间)

【iOS】Jenkins+GitLab自动化打包,并发布到蒲谷英和App Store

1.4 点击建议安装(插件)

【iOS】Jenkins+GitLab自动化打包,并发布到蒲谷英和App Store
【iOS】Jenkins+GitLab自动化打包,并发布到蒲谷英和App Store

1.5 创建jenkins管理用户

【iOS】Jenkins+GitLab自动化打包,并发布到蒲谷英和App Store
【iOS】Jenkins+GitLab自动化打包,并发布到蒲谷英和App Store

2、安装插件

插件

Xcode integration

Build Name and Description Setter

PostBuildScript

Git Parameter(分支管理)

【iOS】Jenkins+GitLab自动化打包,并发布到蒲谷英和App Store
【iOS】Jenkins+GitLab自动化打包,并发布到蒲谷英和App Store

3、ssh配置和GitLab账号密码配置

3.1 ssh配置

如果GitLab已经配置了ssh,直接使用GitLab上的公钥;

如果未配置GitLab,终端运行

ssh-keygen -t rsa -C "[email protected]" -b 4096

,生产公钥和私钥,将公钥配置到GitLab上

然后将咱们获得的公钥配置到Jenkins上

【iOS】Jenkins+GitLab自动化打包,并发布到蒲谷英和App Store

里面的username 你可以随便定义;

private key 选择第一个的话,你需要把你刚生成的证书的私钥填到这个框框里;

password 是你证书的密码 ,若是空的,就不填

【iOS】Jenkins+GitLab自动化打包,并发布到蒲谷英和App Store

3.2 GitLab账号密码配置

【iOS】Jenkins+GitLab自动化打包,并发布到蒲谷英和App Store
【iOS】Jenkins+GitLab自动化打包,并发布到蒲谷英和App Store

4、创建项目

【iOS】Jenkins+GitLab自动化打包,并发布到蒲谷英和App Store
【iOS】Jenkins+GitLab自动化打包,并发布到蒲谷英和App Store
【iOS】Jenkins+GitLab自动化打包,并发布到蒲谷英和App Store
【iOS】Jenkins+GitLab自动化打包,并发布到蒲谷英和App Store
【iOS】Jenkins+GitLab自动化打包,并发布到蒲谷英和App Store
【iOS】Jenkins+GitLab自动化打包,并发布到蒲谷英和App Store

这里用到了PPAutoPackageScript

https://github.com/jkpang/PPAutoPackageScript

【iOS】Jenkins+GitLab自动化打包,并发布到蒲谷英和App Store
cd $WORKSPACE
cd iosjenkinstest/PPAutoPackageScript
sh PPAutoPackageScript.sh
           
【iOS】Jenkins+GitLab自动化打包,并发布到蒲谷英和App Store

最后保存就可以了

5、 构建打包任务

【iOS】Jenkins+GitLab自动化打包,并发布到蒲谷英和App Store

6、 上传蒲公英命令

以下命令,放到

PPAutoPackageScript.sh

文件最下方即可

echo "\033[32m*************************  开始上传到蒲公英  *************************  \033[0m"

#上传至蒲公英

uKey="29e2dab13db2035dcca9daa88831d6"

#蒲公英上的API Key

apiKey="c433baa4112755aba1079b34f17e21"

IPA_PATH=$export_ipa_path/$ipa_name.ipa

curl -F "file=@${IPA_PATH}" -F "uKey=${uKey}" -F "_api_key=${apiKey}" http://www.pgyer.com/apiv1/app/upload
echo "\n"
echo "\033[32;1m====>上传结束  \033[0m"
           

7、上传App Store

在Xcode11是采用官方的上传工具xcrun altool 参数apikey apiIssuerapiIssuer在appstore connect的用户和访问中的密钥里面设置.

【iOS】Jenkins+GitLab自动化打包,并发布到蒲谷英和App Store
# 验证ipa包
xcrun altool --validate-app -f ${exportIpaPath}/${project_name}.ipa -t ios --apiKey apikey --apiIssuer apiIssuer 
# 上传ipa包
xcrun altool --upload-app -f ${exportIpaPath}/${project_name}.ipa -t ios  --apiKey apikey --apiIssuerapiIssuer