美文网首页
iOS Jenkins自动化打包 上传fir、蒲公英、邮件、钉钉

iOS Jenkins自动化打包 上传fir、蒲公英、邮件、钉钉

作者: All_Be_Alright | 来源:发表于2021-06-22 18:15 被阅读0次

    一、环境配置

    注意,本文章是以Jenkins2.263.4为例

    1、首先安装Java环境:官网下载地址

    2、安装Jenkins

    建议下载Jenkins 2.263.4版本,因为最新版本存在login.keychain无法上传的bug, 在Jenkins官网下载下载完成后,打开终端,进入到 war 包所在目录,执行以下命令:

    java -jar jenkins.war --httpPort=8080

    待Jenkins启动后:

    启动

    3、登录

    在浏览器页面输入以下地址,就打开Jenkins管理页面了

    http://localhost:8080

    登录密码路径

    ~/.jenkins/secrets/initialAdminPassword

    进入~/.jenkins/secrets/initialAdminPassword路径查看密码,输入密码登录。

    登录

    5、插件安装

    选择安装推荐的插件

    插件安装

    此过程据说很慢,但是我用的手机热点,没有科学上网,还是很快的。5分钟左右

    推荐的插件下载

    6、创建管理员

    创建管理员

    7、Jenkins URL 默认就可以

    Jenkins URL

    8、进入首页,先安装额外的插件

    1)点击Manage Jenkins - Manage Plugins

    2)搜索想要安装的插件

    这里需要安装的插件有:

    1)Keychains and Provisioning Profiles Management: 证书与描述文件的管理

    2)Xcode integrationXcode:打包的插件,所以iOS的打包只能部署在Mac系统

    9、配置项目的访问SSH私钥

    如果你的电脑没有配置过SSH,此处以码云为例,可看码云官方文档,配置好SSH后再给Jenkins配置

    证书管理 添加证书

    创建一个SSH

    SSH

    终端执行一下操作,获取公钥

    cat ~/.ssh/id_rsa.pub

    填入保存即可

    9、配置项目依赖的证书与描述文件

    其实勾选自动签名,不用配置证书和描述文件也可以。

    1)钥匙串文件路径:

    ~/Library/Keychains/

    login.keychain-db

    由于Jenkins里不能上传login.keychain-db这样后缀的文件,所以手动复制一份login.keychain-db到桌面,然后把文件名修改成login.keychain

    我们再次来到Manage Jenkins 选择Keychains and Provisioning Profiles Management

    点击选取文件,选取login.keychain后点击Upload

    证书名称为钥匙串里常用名称,双击某个证书即可打开,copy一下就可以了

    常用名称

    输入完后先保存,在上传Provisioning Profiles

    2)同样的方式,点击Keychains and Provisioning Profiles Management,讲描述文件上传,Provisioning Profiles Directory Path的路径写

    其中{USERNAME}改为自己电脑的名称

    /User/{USERNAME}/Library/MobileDevice/Provisioning Profiles

    上传

    10、配置邮箱系信息

    如果需要邮件通知,则需要配置此项

    a.进入Manage Jenkins - Configure System

    b.填写系统管理员邮件地址

    c.填写邮箱信息

    d.全局设置邮件发送出发事件、这里选Always,是任何事件都会发送邮件

    11、基本使用

    主板 item页面 日志信息

    二、环境配置

    此处不是用的shell构建,以后再研究。

    1、新建item

    新建item

    2、填入任务名称、选择Freestyle project

    Freestyle project

    3、General、填写描述

    General

    4、源码管理

    源码管理

    如果报错,说明是SSH配置有问题

    5、构建触发器和构建环境,按需填写,此处我没设置

    6、构建

    1)如果用到了cocopods需要先用shell拉取pods仓库

    #bin/zsh -l

    export LANG=en_US.UTF-8

    export LANGUAGE=en_US.UTF-8

    cd $WORKSPACE/

    /usr/local/bin/pod update --verbose --no-repo-update

    选择Execute shell

    填入上述命令

    更新Pods

    7、配置Xcode部分

    1)增加构建步骤-Xcode,以自动签名为例

    增加构建步骤-Xcode

    自动签名不需要填写Team ID

    自动签名不需要填写Team ID

    2)General build settings:一般设置

    Settings部分

    Clean before build : 勾选,据说不勾选启动图会有问题

    Configuration:分Debug和Release,我要打可调式包,所以写的Debug

    Xcode Schema File:如果是用到Cocopods,需要填写工程名

    Pack application,build and sign .ipa:需要勾选

    按需设置一下选项

    Export method :development、ad-hoc、enterprise、app-store

    3)Code signing & OS X keychain options:代码签名设置

    此处我们选的自动签名

    Automatic Signing :勾选自动签名

    如果不想自动签名,选择下面的Unlock Keychain,前提是需要配置login.keychain和描述文件

    3)Advanced Xcode build options:高级选项

    8、上传fir.im、上传蒲公英、发送邮件、发送到钉钉群

    1)上传fir.im

    使用的是fir-cli上传,下面几个连接提供参考

    介绍:https://github.com/FIRHQ/fir-cli

    安装:http://blog.betaqr.com/use-fir-cli-in-jenkins/

    使用:https://github.com/FIRHQ/fir-cli/blob/master/doc/publish.md

    我们回到Jenkins中,找到上面的item,打开配置,在最下面增加构建步骤,选择Execute shell

    增加构建步骤

    根据fir-cli使用连接中介绍,编写一下shell

    fir p ${WORKSPACE}/build/Debug-iphoneos/JenkinsDemo.ipa  -Q -T abcdefghigklmnopqrstuvwxyz

    需要修改的地方有两点

    a、ipa路径:${WORKSPACE}/build/Debug-iphoneos/JenkinsDemo.ipa

    b、fir的API token:abcdefghigklmnopqrstuvwxyz

    fir的API Token去fir平台获取,将两者换成自己的就可以了。

    c、头像,点击API token

    d、copy就可以了

    API Token

    2)发送到钉钉群,通过Webhook实现

    当上传fir成功后,我们可以发消息到钉钉群,这里需要在钉钉群配置一个机器人。

    a.在需要发消息的钉钉群,点击群设置 - 智能群助手 - 添加机器人

    机器人管理

    选择自定义

    安全设置,我们选择自定义关键词

    关键词添加为url

    我们讲Webhook的地址复制出来,截取地址里的access_token备用

    在上一步上传fir的shell脚本中加入access_token值就可以发送到群里了

    shell脚本改为

    fir p ${WORKSPACE}/build/Debug-iphoneos/JenkinsDemo.ipa --dingtalk-access-token="zyxwvutsrqpo" -Q -T abcdefghigklmnopqrstuvwxyz

    access_token : zyxwvutsrqpo 讲这个值换成自己的就可以了

    3)发送邮件

    回到配置页面,滑到最下面,点击增加构建后操作步骤

    选择Editable Email Notification

    多个邮箱地址用英文逗号隔开

    Content Type:选择Plain Text(text/plain)就可以

    Triggers触发器按照下图配置,保存即可

    3)上传蒲公英

    先放一个蒲公英官方文档:https://www.pgyer.com/doc/view/jenkins_plugin

    打开蒲公英,在API信息中获取API Key和User Key

    在Jenkins插件中安装Upload to pgyer插件

    返回item中的配置

    在增加构建后操作步骤中选择Upload to pager with apiV1

    配置一下信息,保存即可

    相关文章

      网友评论

          本文标题:iOS Jenkins自动化打包 上传fir、蒲公英、邮件、钉钉

          本文链接:https://www.haomeiwen.com/subject/uvclyltx.html