[h2title]1、安装fastlane[/h2title]

安装方式建议参照官网,一共三种方式,这里只介绍前两种

1、Bundler安装(官方推荐)
打开终端输入
sudo gem install bundler
cd到你的项目根目录下,创建./Gemfile文件,然后在里面添加如下内容。
如果找不到Gemfile文件,可以尝试在需要创建的目录执行:bundle init

[success]

source "https://rubygems.org"
gem "fastlane"

[/success]

更新bundler

bundle update

2、通过Homebrew安装
brew install fastlane
安装好fastlane后,cd到项目根目录
fastlane init
根目录下会出现fastlane文件夹,里面会有AppfileFastfile文件。按住Shift+command+. 还会看到.env的配置文件
[h2title]2、fastlane配置[/h2title]
若打包期间提示无权限,可执行以下命令
fastlane spaceauth -u [email]
然后将session信息复制下来,输入
sudo vim ~/.zshrc
写入

[success]

export FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD=""
export FASTLANE_SESSION=""

[/success]

保存后记得刷新配置

source ~/.zshrc

[h2title]3、安装jenkins[/h2title]
通过Homebrew安装 brew install jenkins
其它常用命令
启动:brew services start jenkins
停止:brew services stop jenkins
重启:brew services restart jenkins
显示安装成功后打开浏览器,输入localhost:8080
打开以后会提示输入初始密码
cat /Users/xxx/.jenkins/secrets/initialAdminPassword
将密码输入后,进入主页面
[h2title]4、jenkins配置[/h2title]
新建任务
添加仓库地址
选择触发条件,我这里是通过gitlab的webhook自动触发的
将地址记录下来,一会会用到
基本配置信息
点击高级选项,输入你想监听的分支,我这里只监测dev分支的push信息,include和exclude看你的需求可动态配置
接着点击generate,将生成的Secret token复制下来
打开你的gitlab
将上面获取到的url和token填入后保存即可,url记得使用你本机的ip,不要直接输入localhost
若提示不允许使用本地url,用管理员账户到settings->network->outbounds,将Allow requests to the local network from web hooks and services选中后即可

 

局域网使用IP访问jenkins的方式
修改下面路径下的plist配置。
1、~/Library/LaunchAgents/homebrew.mxcl.jenkins.plist
2、/usr/local/opt/jenkins/homebrew.mxcl.jenkins.plist

若找不到相应配置,可以去看下homebrew所在文件

终端输入 /opt/homebrew/opt/jenkins 回车。输入open . 回车, 打开文件夹
将上面两个plist中的httpListenAddress后的ip地址,修改为本机IP或者0.0.0.0即可。

上述两个配置文件修改完后,重启Jenkins服务

此处需先安装获取changelog的插件,$SCM_CHANGELOG命令获取提交日志
下载后将.hpi文件上传至jenkins即可
添加执行shell,下面是我的shell

[success]

#!/bin/bash -l

export LANG=en_US.UTF-8

export LANGUAGE=en_US.UTF-8

export LC_ALL=en_US.UTF-8

cd ${WORKSPACE}/Live

echo "🌍 ${WORKSPACE}/Live 🌍 ⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡️"

echo "🌍 start carthage update 🌍 ⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡️"

carthage update --platform iOS

echo "🌍 start pod install 🌍 ⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡️"

pod install

echo "🌍 start fastlane  🌍 ⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡️"

bundle install

fastlane pub_test changeLog:$SCM_CHANGELOG

[/success]