iOS - 自动化打包部署

一、Jenkins版

序:自动化打包部署,为了方便测试更好的测试、开发更高效率的开发;内容大致参考参考链接的,记录只是为了自己以后以备记忆!
注意点:①必须本地项目能Archieve;②项目目录必须注意
1.Jenkins依赖环境相关

1)Java 8 (JRE或者JDk都可以,二选一)

JRE下载地址:www.java.com,下载Java,安装后会在设置面板生成头标

图片.png

JDK下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

2.点击 http://mirrors.jenkins.io/war-stable/latest/jenkins.war 下载最新的Jenkins.war;(备用:在https://www.jenkins.io/download/lts/macos/上用命令 brew install jenkins-lts 安装jekins)

3.打开终端,进入war包所在目录,执行以下命令(该命令用来打开Jenkins的):

    java -jar jenkins.war

4.执行完成之后打开浏览器输入http://localhost:8080/ , 也可以尝试打开http://127.0.0.1:8080,两者是一样的

5.弹出Jenkins安装界面,设置管理员账号密码、创建账号相关信息,选择第一个自动选项,自动下载所需要的插件。

6.安装插件 :选择系统管理 - 管理插件 (有的话就不用安装了)

安装GitLab插件
在可选插件中选择GitLab Plugin和Gitlab Hook Plugin进行安装。

安装Xcode插件
在可选插件中选择Xcode integration进行安装。

2.Fastlane安装

Fastlane是一套使用Ruby写的自动化工具集,用于iOS和Android的自动化打包、发布等工作,可以节省大量的时间

1)检查Ruby版本,需要2.0及以上版本。在终端输入以下命令确认:

    ruby -v

2)gem的source记得需要是 https://gems.ruby-china.org/

3)检查Xcode命令行工具是否安装。在终端输入以下命令:

    xcode-select --install

如果没有安装会进行安装。如果已经安装了则会提示:

    xcode-select: error: command line tools are already installed, use "Software Update" to install updates

4)安装Fastlane

    sudo gem install fastlane --verbose

如果出现以下错误:

    ERROR:  While executing gem ... (Errno::EPERM)
        Operation not permitted - /usr/bin/rougify

则输入以下命令:

     sudo gem install -n /usr/local/bin fastlane

5)检查Fastlane是否正确安装。输入以下命令:

    fastlane --version
3.Fastlane配置

1)打开终端,进入你的项目工程的根目录,输入以下命令:

    fastlane init

中间会让你输入苹果开发者账号的账号和密码,输入完后,有可能还会让你生成下载元数据,选择yes;之后会在你项目工程的目录下生成一个fastlane文件夹,里面有Fastlane的配置文件,一个是Appfile文件,一个是Fastfile文件(如果要上传AppStore的话还有Deliverfile文件)。Appfile保存苹果开发者的相关信息、项目的相关信息等。Fastfile是运行脚本。


图片.png

2)编辑Fastfile文件
有时候一天需要打好几个包,为了区分,我们这里实现一个递增build号的功能。

(1)修改项目工程配置
修改Build Settings中的Versioning配置,Current Project Version随便填一个,Versioning System选择Apple Generic。

图片.png

(2)定义一个递增build号的函数,添加到Fastfile中

    def updateProjectBuildNumber

    currentTime = Time.new.strftime("%Y%m%d")
    build = get_build_number()
    if build.include?"#{currentTime}."
    # => 为当天版本 计算迭代版本号
    lastStr = build[build.length-2..build.length-1]
    lastNum = lastStr.to_i
    lastNum = lastNum + 1
    lastStr = lastNum.to_s
    if lastNum < 10
    lastStr = lastStr.insert(0,"0")
    end
    build = "#{currentTime}.#{lastStr}"
    else
    # => 非当天版本 build 号重置
    build = "#{currentTime}.01"
    end
    puts("*************| 更新build #{build} |*************")
    # => 更改项目 build 号
    increment_build_number(
    build_number: "#{build}"
    )
    end

注意:蒲公英的 api_key 和 user_key,开发者在自己账号下的 账号设置-API信息 中可以找到。打其它类型的包的方法与development类似,可自定义一个新的lane实现。

4.蒲公英的Fastlane插件安装

打开终端,进入你的项目工程的根目录,输入以下命令:

    fastlane add_plugin pgyer

出现

    Plugin 'fastlane-plugin-pgyer' was added to './fastlane/Pluginfile'
    It looks like fastlane plugins are not yet set up for this project.
    fastlane will create a new Gemfile at path 'Gemfile'
    This change is necessary for fastlane plugins to work
    Should fastlane modify the Gemfile at path 'Gemfile' for you?
    (y/n)

输入y按回车,出现

    Installing plugin dependencies...
    Successfully installed plugins

便是安装成功了

5.构建

1.点击新建,输入项目名称,构建一个自由风格的软件项目

图片.png

2.配置Git(自己的项目仓库地址)

图片.png

Credebtials位置写的是根据HTTP还是SSH 然后填写的相关信息(我写的是Jenkins的账户和密码),然后选择该用户


图片.png

弄完效果


图片.png

3)参数化构建过程
下载插件Git Parameter后,选择git参数,源码管理的分支也需要更改


图片.png

图片.png
图片.png

图片.png

4)配置脚本


图片.png

5)保存

6)添加完成之后点击立即构建(Build Now),失败为红色,成功为蓝色。


图片.png

6)点击左下角的 构建历史 中的某个版本,可以查看该版本的详情;控制台输出可以查看成功或失败日志,以便排查具体报错问题。


图片.png
参考链接

·https://www.jianshu.com/p/0a113f754c09
·咪咕某大佬架构师

你可能感兴趣的:(iOS - 自动化打包部署)