fastlane+蒲公英+Jenkins自动化打包配置流程

一、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安装时会提示安装默认插件,全部安装即可。安装完再看下以下插件是否安装了:GitExtended Choice ParameterGit 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任务:


截屏2023-08-10 17.05.26.png

接着配置gitlab项目路径,以及gitlab账号密码或者Token,让Jenkins自动拉取代码。


截屏2023-08-10 16.50.21.png

接着配置打包可选参数:分支、环境

定义branch参数

分支配置

使用branch参数

使用branch参数

环境bool值配置

或者有多个环境是使用参数配置


截屏2023-08-10 16.49.17.png

接口配置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 中填写第一步中输出的结果 保存即可。如下图所示


截屏2023-08-10 19.51.44.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 200,045评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,114评论 2 377
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 147,120评论 0 332
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,902评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,828评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,132评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,590评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,258评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,408评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,335评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,385评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,068评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,660评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,747评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,967评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,406评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,970评论 2 341

推荐阅读更多精彩内容