一、fastlane配置
安装fastlane
sudo gem install fastlane -NV
后期更新fastlane
,这两个都可以
bundle update fastlane
fastlane update_fastlane
终端cd到项目目录,安装蒲公英插件、fastlane初始化
$ fastlane add_plugin pgyer
$ fastlane init
在fastlane init
过程中需要输入开发者账号密码,后续可通过以下命令重新登录账号。
$ fastlane cert create
Gemfile
文件
# frozen_string_literal: true
source "https://rubygems.org"
gem 'fastlane'
gem "cocoapods"
plugins_path = File.join(File.dirname(__FILE__), 'fastlane', 'Pluginfile')
eval_gemfile(plugins_path) if File.exist?(plugins_path)
Appfile
文件
app_identifier("com.xx.xx") # The bundle identifier of your app
apple_id("xxxxx@sina.com") # Your Apple Developer Portal username
itc_team_id("xxxxx")
team_id("xxxxx")
branch ENV['BRANCH']
# For more information about the Appfile, see:
# https://docs.fastlane.tools/advanced/#appfile
Fastfile
文件
# Uncomment the line if you want fastlane to automatically update itself
# update_fastlane
default_platform(:ios)
platform :ios do
before_all do |lane|
cocoapods
end
desc "以 development 方式打包并上传到蒲公英"
lane :dev do
puts "以 development 方式打包"
gym(
# 指定打包所使用的输出方式 (可选: app-store, package, ad-hoc, enterprise, development)
export_method: "development",
# 默认Release Debug
configuration: "Debug",
# 指定项目的 scheme 名称
scheme: "xx",
# 指定输出的文件夹地址
output_directory: "~/Desktop/ipa/dev/" + Time.new.strftime("%Y-%m-%d-%H:%M:%S"),
)
puts "上传 ipa 包到蒲公英"
pgyer(
# 蒲公英 API KEY
api_key: "xxxxxxxxxxxxxxxxx",
update_description: "测试环境包"
)
end
end
以上配置完成就可以在本地终端进行打包了,打开终端进入到项目fastlane
文件夹上一级,输入以下命令即可打一个dev的包。
fastlane dev
二、Jenkins配置
安装Jenkins
brew install jenkins
jenkins
用到的命令
#启动jenkins
brew services start jenkins
#停止jenkins
brew services stop jenkins
#重启jenkins
brew services restart jenkins
#直接启动jenkins
jenkins
打开浏览器,输入localhost:8080
,去相关路径找到密码复制进去即可
然后最重要的是安装插件,Jenkins安装时会提示安装默认插件,全部安装即可。安装完再看下以下插件是否安装了:Git
、Extended Choice Parameter
、Git Paramete
Git
Extended Choice Parameter
Git Paramete
GitLab
Xcode integration // 这个其实可以不用
Keychains and Provisioning Profiles Management // 配置文件管理
/// 上面这三个 如果需要在jenkins中打包 证书添加需要导入
Upload to pgyer // 上传蒲公英
Build Name and Description Setter // 设置打好包的名字
description setter // 设置图片
插件安装完后,新建一个Jenkins任务:
接着配置gitlab项目路径,以及gitlab账号密码或者Token,让Jenkins自动拉取代码。
接着配置打包可选参数:分支、环境
定义branch
参数
使用branch
参数
或者有多个环境是使用参数配置
接口配置Jenkins shell
脚本运行我们的fastlane
脚本命令进行打包。
先在项目fastlane目录下新建两个脚本dev.sh
release.sh
文件,方便Jenkins执行。(为什么这么做:因为我直接把命令写在Jenkins shell 里面不执行,报fastlane: command not found)
dev.sh文件内容如下:
#!/bin/bash
fastlane dev
release.sh文件内容如下:
#!/bin/bash
fastlane release
这两个文件放在fastlane
目录下即可。
cd /Users/zhangsan/.jenkins/workspace/Cyou-iOS/fastlane
if (${isRelease})
then
echo "====release===="
sh ./release.sh
else
echo "====dev===="
sh ./dev.sh
fi
三、Jenkins运行报错汇总
1、 fastlane: command not found
这个情况一般是由于 jenkins 没有设置正确的 PATH,在终端输入
echo $PATH
记录下输出的结果 在 jenkins 中系统管理-系统设置中,找到 环境变量(Environment variables) 在 key 中填写 PATH,在 value 中填写第一步中输出的结果 保存即可。如下图所示