Jenkins配置,参数化构建,发布蒲公英并且发布钉钉消息
- 我也是借鉴别人的经验,Jenkins的安装就不再赘述了,因为我用的是Homebrew的方式,下面的命令会用到Homebrew命令安装,看个人需要。
- 安装之前,首先你的电脑上需要安装:Homebrew,安装Homebrew自行百度,这个也不再赘述。
- 安装Jenkins命令
安装最新的 LTS 版本:
$ brew install jenkins-lts
或者安装特定的 LTS 版本:
$ brew install jenkins-lts@YOUR_VERSION
Jenkins一些常用的命令
启动Jenkins服务:brew services start jenkins-lts
重启Jenkins服务:brew services restart jenkins-lts
更新Jenkins版本:brew upgrade jenkins-lts
- Jenkins安装完成后是这样的:
Jenkins配置完成后,配置项目需要的一些设置
现在Jenkins要帮我们完成:可以自定义切换分支,拉取代码,打包、上传蒲公英、以及在提测群里发送钉钉消息。
所以第一步要先完成一些必要插件的安装:
下载步骤:点击Jenkins界面系统设置,会进入如下界面:
点击插件管理搜索钉钉插件和蒲公英上传插件:
Ding Talk (钉钉机器人插件)
Upload to pgyer (蒲公英上传插件)
安装完成之后,去系统管理界面:拉到最底部,会有钉钉消息插件:
钉钉自定义机器人配置
首先去想要添加机器人的群里去添加发送消息的机器人
点击机器人到机器人管理界面:
点击添加机器人,选择自定义webhook的自定义机器人
然后添加机器人入群,然后点击机器人去进行设置:比如设置机器人图标和一些设置在钉钉端创建好之后,然后进入Jenkins系统管理,拉到最底部,点击图标进行设置
上面的按照实际项目需要,我们项目就是在任务构建完成之后,再去发送消息
在下面机器人那里,点击新增,按照钉钉上自己填写的机器人的设置,在这里添加机器人,可以添加多个,根据需要添加即可:
至此,Jenkins机器人设置完成
创建流水线任务
首先创建一个自由风格的软件项目
进入构建任务界面
源码管理选择git
由于福多多项目在码云上,所以不需要别的配置,直接填写仓库地址以及用户名和密码就可以
在此界面可以设置仓库,仓库分支用自定义参数表示
自定义参数相当于代码中的变量,取值用 $参数名称
构建步骤选择执行shell
福多多shell脚本大致意思:
export LANG=en_US.UTF-8
export LANGUAGE=en_US.UTF-8
export LC_ALL=en_US.UTF-8
if [ ! -d "/Users/pantenglong/PgyerApk_Ipa/" ];then
echo "PgyerApk_Ipa文件夹不存在,新建PgyerApk文件夹"
mkdir /Users/pantenglong/PgyerApk_Ipa
echo "PgyerApk_Ipa文件夹新建成功"
else
rm -r /Users/pantenglong/PgyerApk_Ipa
echo "PgyerApk_Ipa文件夹删除"
mkdir /Users/pantenglong/PgyerApk_Ipa
echo "PgyerApk_Ipa文件夹新建成功"
fi
cd /Users/pantenglong/.jenkins/workspace/pantenglong
flutter pub get
flutter --no-color build apk --release --no-tree-shake-icons --dart-define=APP_CHANNEL='Pgyer'
cd /Users/pantenglong/.jenkins/workspace/pantenglong/build/app/outputs/
cp -r flutter-apk /Users/pantenglong/PgyerApk_Ipa/APK
cd /Users/pantenglong/.jenkins/workspace/pantenglong
flutter --no-color build ipa --export-method ad-hoc --no-tree-shake-icons --dart-define=APP_CHANNEL='Pgyer'
cd /Users/pantenglong/.jenkins/workspace/pantenglong/build/ios/
cp -r ipa /Users/pantenglong/PgyerApk_Ipa/ipa
如果遇到 flutter: command not found需要配置环境变量
在jenkins系统设置中找到,环境变量
第一行增加 键:PATH 值:通过echo $PATH 查看目录
第二行增加 键:PATH1 值:flutter目录所在环境,例如:/Users/pantenglong/flutter/bin
脚本解读:
- 前三行脚本是为了Jenkins可以执行pod 命令的设置
- if中的语句是创建自定义路径的APK或者IPA的文件导出路径
- 到Jenkins目录下的workspace中,找到相应的任务文件夹:这里解释,每创建一个流水线任务,就会在工作区间里,有一个相应的文件夹,文件夹对应git中的分支代码
- 打包之前先进行flutter pub get 然后执行flutter打包命令
- 将flutter打包完的包,导出到自定义的路径下
如果配置了Git管理代码遇到iOS Pod相关的问题 在执行shell最开始加上下面三行命令
export LANG=en_US.UTF-8
export LANGUAGE=en_US.UTF-8
export LC_ALL=en_US.UTF-8
增加构建后步骤:去上传蒲公英
至此基本就设置创建完了,然后点击项目,参数化构建,对应参数填写相应内容,点击build即可构建
如果遇到问题可以问我,能写的目前写完了