【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_第1张图片
从Jenkins控制台日志输出中,复制自动生成的字母数字密码(在两组星号之间)
【iOS】Jenkins+GitLab自动化打包,并发布到蒲谷英和App Store_第2张图片

1.4 点击建议安装(插件)

【iOS】Jenkins+GitLab自动化打包,并发布到蒲谷英和App Store_第3张图片
【iOS】Jenkins+GitLab自动化打包,并发布到蒲谷英和App Store_第4张图片

1.5 创建jenkins管理用户

【iOS】Jenkins+GitLab自动化打包,并发布到蒲谷英和App Store_第5张图片
【iOS】Jenkins+GitLab自动化打包,并发布到蒲谷英和App Store_第6张图片

2、安装插件

插件
Xcode integration
Build Name and Description Setter
PostBuildScript
Git Parameter(分支管理)
【iOS】Jenkins+GitLab自动化打包,并发布到蒲谷英和App Store_第7张图片
【iOS】Jenkins+GitLab自动化打包,并发布到蒲谷英和App Store_第8张图片

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_第9张图片
里面的username 你可以随便定义;
private key 选择第一个的话,你需要把你刚生成的证书的私钥填到这个框框里;
password 是你证书的密码 ,若是空的,就不填
【iOS】Jenkins+GitLab自动化打包,并发布到蒲谷英和App Store_第10张图片

3.2 GitLab账号密码配置

【iOS】Jenkins+GitLab自动化打包,并发布到蒲谷英和App Store_第11张图片
【iOS】Jenkins+GitLab自动化打包,并发布到蒲谷英和App Store_第12张图片

4、创建项目

【iOS】Jenkins+GitLab自动化打包,并发布到蒲谷英和App Store_第13张图片
【iOS】Jenkins+GitLab自动化打包,并发布到蒲谷英和App Store_第14张图片

【iOS】Jenkins+GitLab自动化打包,并发布到蒲谷英和App Store_第15张图片
【iOS】Jenkins+GitLab自动化打包,并发布到蒲谷英和App Store_第16张图片
【iOS】Jenkins+GitLab自动化打包,并发布到蒲谷英和App Store_第17张图片
【iOS】Jenkins+GitLab自动化打包,并发布到蒲谷英和App Store_第18张图片
这里用到了PPAutoPackageScript
https://github.com/jkpang/PPAutoPackageScript

【iOS】Jenkins+GitLab自动化打包,并发布到蒲谷英和App Store_第19张图片

cd $WORKSPACE
cd iosjenkinstest/PPAutoPackageScript
sh PPAutoPackageScript.sh

【iOS】Jenkins+GitLab自动化打包,并发布到蒲谷英和App Store_第20张图片
最后保存就可以了

5、 构建打包任务

【iOS】Jenkins+GitLab自动化打包,并发布到蒲谷英和App Store_第21张图片

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_第22张图片

# 验证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

你可能感兴趣的:(iOS,ios,android,react,native,flutter,web,app)