美文网首页
fastlane+蒲公英+Jenkins自动化打包配置流程

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

作者: joeal | 来源:发表于2023-08-06 19:42 被阅读0次

一、fastlane配置

安装fastlane

  sudo gem install fastlane -NV

终端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

相关文章

网友评论

      本文标题:fastlane+蒲公英+Jenkins自动化打包配置流程

      本文链接:https://www.haomeiwen.com/subject/maukpdtx.html