Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >iOS 自动打包-FastLane

iOS 自动打包-FastLane

原创
作者头像
莫空9081
修改于 2021-04-20 02:11:35
修改于 2021-04-20 02:11:35
2.6K0
举报
文章被收录于专栏:iOS 备忘录iOS 备忘录

iOS自动打包

使用FastLane打包

安装 fastlane

  • 通过HomeBrew安装
代码语言:txt
AI代码解释
复制
brew install fastlane
  • 通过Bundler安装
  1. 安装 bundler
  2. 然后在项目根目录下创建./Gemfile文件,编辑内容
代码语言:txt
AI代码解释
复制
// 安装 bundler

$ gem install bundler
代码语言:txt
AI代码解释
复制
//然后在项目根目录下创建./Gemfile文件,编辑内容

source "https://rubygems.org"

gem "fastlane"

编辑Gemfile文件:

代码语言:txt
AI代码解释
复制
source "https://rubygems.org"

gem "fastlane", "2.180.1"

# 如果使用Cocoapods,需要添加下面这行

gem "cocoapods"
  • 通过ruby gems安装
代码语言:txt
AI代码解释
复制
sudo gem install fastlane

fastlane安装成功后,安装两个插件,用于版本号管理和打包成功后上传到对应的第三方平台

代码语言:txt
AI代码解释
复制
// 添加fastlane插件

// versioning使用参考,https://github.com/SiarheiFedartsou/fastlane-plugin-versioning,用于版本号获取和修改

// firim是fir平台插件

fastlane add_plugin versioning

fastlane add_plugin fir_cli # https://github.com/FIRHQ/fastlane-plugin-fir_cli

// pgyer是蒲公英平台

// fastlane add_plugin pgyer

fastlane内容编辑

fir平台的fir相关参数参考:传送门

编辑Fastfile,定义一个Action,名字为TestFir,指定输出包名为(版本号+时间),打包后包到目录为./build目录下,打包完成后上传到fir。如下

代码语言:txt
AI代码解释
复制
default_platform(:ios)

platform :ios do

  desc "Description of what the lane does"

  lane :TestFir do

    time = Time.new.strftime("%Y%m%d%H%M") # 获取时间格式,格式参考https://www.runoob.com/python/att-time-strftime.html

    # verion = get_version_number_from_list() # 获取版本号

    version = get_version_number_from_xcodeproj(build_configuration_name: 'Release') # 使用参考GitHub链接,https://github.com/SiarheiFedartsou/fastlane-plugin-versioning

    ipaName = "Release_#{version}_#{time}.ipa" # 生成ipa包的名字格式

    gym(

      clean: true, # 打包前清理项目

      silent: true, # 隐藏没有必要的信息

      scheme: "Your Scheme Name", # 指定项目的scheme名称

      export_method: "ad-hoc", # 打包的类型,有:ad-hoc, enterprise, app-store, development

      configuration: "Release", # scheme: 默认为Release,还有Debug

      output_name: "#{ipaName}", # 输出的报名

      output_directory: "./build" # 输出的位置

    )

    # 自己的fir账号,可配置内容参考https://github.com/FIRHQ/fastlane-plugin-fir_cli

    fir_cli api_token: "xxx",  changelog: "My First Fir Upload"

    # 蒲公英的配置 替换为自己的api_key和user_key

    # pgyer(api_key: "\*\*\*\*\*\*", user_key: "\*\*\*\*\*\*",update_description: options[:update_info])

  end

end

使用时,在命令行输入fastlane TestFir即可

代码语言:txt
AI代码解释
复制
fastlane TestFir

如果想要在执行命令时从外部传入参数,则可以按照下面的方式使用,在do后面添加 |options|,使用时,options:optionName这种方式来获取从外面传入的值

代码语言:txt
AI代码解释
复制
lane :ActionName do |options|

    gym(

      configuration: options[:configuration],#环境

      )

    # 自己的fir账号

    fir_cli api_token: "xxx",  changelog: options[:changelog]

  end

从外面调用的方式如下:

代码语言:txt
AI代码解释
复制
fastlane ActionName configuration:"adhoc" changelog:"first submit"

使用Jenkins打包,未完待续

参考

iOS 之 自动打包 fastlane + fir + pgy 【进阶使用】

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
jenkins + gitlab + fastlane 一键打包上传至蒲公英和 Fir
在开发过程中,总是被其他同事(开发,测试,产品等)要求临时打个包。恰巧之前配置的是一套本地用Python命令的自动化打包工具,但是仍然无法避免的要贮藏当前分支的代码,然后切换分支在本机上打包。一来一回,很耽误时间,更不用说如果用的手动打包方式该有多浪费时间了。
网罗开发
2022/03/25
2.6K0
jenkins + gitlab + fastlane 一键打包上传至蒲公英和 Fir
iOS 自动打包 - fastlane
1 本文只是fastlane的基本使用. 2 使用fastlane前,确保你已经可以使用Xcode手动打包成功(说明你已经配置好证书)
大壮
2018/09/19
1.3K0
iOS 自动打包 - fastlane
iOS+Fastlane自动打包、发布测试、消息通知,完美结合!iOS+Fastlane自动打包、发布测试、消息通知,完美结合!
曾经我以为自动化打包很没必要,所以一直都是Xcode中规中矩的打包操作然后发布;而如今我正在经历着一天之中反复的测试、回归,有时一天打包发布个三五次,不断的来回告诉测试妹子打包发布了去下载吧,有时妹子也烦。
Light413
2021/12/08
2.1K0
iOS+Fastlane自动打包、发布测试、消息通知,完美结合!iOS+Fastlane自动打包、发布测试、消息通知,完美结合!
Mac下使用Jenkins踩坑 Fastlane自动化iOS打包写在前面使用FastlaneJenkins 踩坑后记
最近项目在做新项目时经常发现有很多小bug需要改动,一改就要重新打包,哪怕是一个很小的项目,光是编译打包导出,再上传到测试平台没个十几分钟也是下不来的。本来的话也只是想找个自动打包的脚本,找了几个发现都不怎么理想,于是就瞄准了 Jenkins + Fastlane
gwk_iOS
2018/08/23
1.9K0
Mac下使用Jenkins踩坑 Fastlane自动化iOS打包写在前面使用FastlaneJenkins 踩坑后记
iOS自动化打包 Jenkins+Gitlab+Fastlane+蒲公英+钉钉
      这两天花时间整理一下自动化打包的整套流程,现在iOS端的整套流程是没有问题了,这个过程中踩得坑也的确是特别多,所以这周末把整个流程整理一下,总结出来这篇文章,希望能对有需要的小伙伴有点点帮助。
Mr.RisingSun
2022/09/19
2.6K0
iOS自动化打包 Jenkins+Gitlab+Fastlane+蒲公英+钉钉
Fastlane| 一句代码完成自动打包发布到蒲公英
第一个选项的意思是:自动截屏。这个功能能帮我们自动截取APP中的截图,并添加手机边框(如果需要的话) 第二个选项的意思是:自动发布beta版本用于TestFlight 第三个选项的意思是:自动发布到AppStore 第四个选项的意思是:手动设置。
進无尽
2018/09/12
1.4K0
Fastlane| 一句代码完成自动打包发布到蒲公英
iOS - 自动化集成部署
在 Mac 环境下,我们需要先安装 JDK,然后在 Jenkins 的官网 下载最新的 war 包。下载完成后,打开终端,进入到 war 包所在目录,执行以下命令:
Wilbur-L
2021/11/10
8360
fastlane实现自动化打包
正常产品开发完成之后,我们都需要给测试人员打包,又是测试包,又是生产包的,打一次包需要浪费十几分钟的时间,甚至有时候,你刚打完包,产品过来告诉你某个地方需要微调一下(麻蛋,这个时候是不是想弄死他),但是没办法,只好改完bug,继续打包,就这样可能一上午或者一下午就这样浪费了,所以有一个能够自动化打包的工具不仅能够为我们节省大量的时间,还可以让我们能够装逼。。。。。(这是重点) 其实自动化打包的工具有很多,比较流行的有Jenkins和fastlane,原来尝试过Jenkins,感觉这个工具比较麻烦,需要
czjwarrior
2018/05/28
9920
手把手教你利用Jenkins持续集成iOS项目
众所周知,现在App的竞争已经到了用户体验为王,质量为上的白热化阶段。用户们都是很挑剔的。如果一个公司的推广团队好不容易砸了重金推广了一个APP,好不容易有了一些用户,由于一次线上的bug导致一批的用户在使用中纷纷出现闪退bug,轻则,很可能前期推广砸的钱都白费了,重则,口碑不好,未来也提升不起用户量来了。静下心来分析一下问题的原因,无外乎就是质量没有过关就上线了。除去主观的一些因素,很大部分的客观因素我觉得可以被我们防范的。根据大神们提出的一套开发规范建议,CI + FDD,就可以帮助我们极大程度的解决客观因素。本文接下来主要讨论 Continuous Integration 持续集成(简称CI)
一缕殇流化隐半边冰霜
2018/08/29
1.7K0
手把手教你利用Jenkins持续集成iOS项目
【Jenkins】Jenkins集成IOS全自动打包专题
    1、将/Users/管理员用户名/Library的MobileDevice文件夹拷贝到/Users/Shared/Jenkins/Library下;
江中散人_Jun
2023/10/16
2K0
【Jenkins】Jenkins集成IOS全自动打包专题
手把手教你利用Jenkins持续集成iOS项目
前言 众所周知,现在App的竞争已经到了用户体验为王,质量为上的白热化阶段。用户们都是很挑剔的。如果一个公司的推广团队好不容易砸了重金推广了一个APP,好不容易有了一些用户,由于一次线上的bug导致一批的用户在使用中纷纷出现闪退bug,轻则,很可能前期推广砸的钱都白费了,重则,口碑不好,未来也提升不起用户量来了。静下心来分析一下问题的原因,无外乎就是质量没有过关就上线了。 除去主观的一些因素,很大部分的客观因素我觉得可以被我们防范的。根据大神们提出的一套开发规范建议,CI + FDD,就可以帮助我们极大程
DevOps时代
2018/06/22
2.1K0
iOS+Fastlane自动打包发布到TestFlightiOS+Fastlane自动打包发布到TestFlight
app_store_connect_api_key 访问App Store秘钥相关,需要在APP主页申请生成,App Store访问秘钥相关,需要在APP主页申请
Light413
2021/12/08
1.4K0
iOS+Fastlane自动打包发布到TestFlightiOS+Fastlane自动打包发布到TestFlight
Xcode自动打包和上传蒲公英平台脚本(用python实现)
工作中,特别是所做项目进入测试阶段,肯定会经常打 Ad-hoc 包给测试人员进行测试,但是我们肯定不想每次进行打包的时候都要进行一些工程的设置修改,以及一系列的 next 按钮点击操作,现在就让这些操作都交给脚本化吧!
freesan44
2019/03/01
1.5K0
iOS 自动打包脚本
测试阶段一般会发生这样的场景,测试拼命的提 Bug,开发拼命的改 Bug,改完重新打包发给测试进行复测,那这个过程中频繁的打包肯定是不可避免的。
CoderStar
2022/08/24
1.1K0
iOS 自动打包脚本
占坑!利用 JenKins 持续集成 iOS 项目时遇到的问题
持续集成(Continuous Integration,简称CI)是一种软件开发实践:许多团队频繁地集成他们的工作,每位成员通常进行日常集成,进而每天会有多种集成。
DevOps时代
2018/08/01
2.9K0
占坑!利用 JenKins 持续集成 iOS 项目时遇到的问题
我的自动化构建之路之 Jenkins+Fastlane+Github内网测试
可能看到这一篇文章很多人认为 Jenkins就可以实现自动化打包,并且 Fastlane配置 完毕之后打包更加的轻松。干嘛还搞在一起,这不是重复了吗。
君赏
2018/09/07
1.7K0
【网易严选】iOS持续集成打包(Jenkins+fastlane+nginx)
严选iOS客户端的现有打包方式是通过远程连接打包机执行脚本去打包,打完包会输出相应的ipa的二维码,扫一扫二维码可以安装,但是随着测试队伍的壮大,外包同学越来越多,在打包机输入命令的方式可用度越来越低,手动输入命令的缺陷有:
Albert陈凯
2018/12/07
1.1K0
fastlane结合Python 实现 iOS 自动化打包发送邮件通知
4.1 文件介绍 Appfile内部是个人开发者账号的配置 Fastfile 定义的是一个个的lane,执行不同的打包操作操作实例 单个打包 ElbT fastlane ElbT
大话swift
2019/07/04
1.6K0
appuploader 入门使用
回想一下我们发布 iOS 应用,不仅步骤繁琐,非常耗时。一旦其中一步失误了,又得重新来。作为一名优秀的工程师不应该让这些重复的工作在浪费我们的人生。在软件工程里面,我们一直都推崇把重复、流程化的工作交给程序完成。这次的文章主角就是为了解放我们而来—— appuploader,appuploader类似于Fastlane。这个明星库在 github 已经高达 1w 多的start量,得到了广大码农们的认为。
爱学iOS的小麦子
2023/05/03
2780
jenkins 之 iOS 打包及上传至蒲公英
2. 源码管理,使用 账号 和 密码拉取代码(有可能会提示无法获取,你可以重启 jenkins 试试,如果还不行,重启电脑,如果还不行,自行解决)
卓越笔记
2023/02/17
2.4K0
jenkins 之 iOS 打包及上传至蒲公英
推荐阅读
相关推荐
jenkins + gitlab + fastlane 一键打包上传至蒲公英和 Fir
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档