Xcode + cocoapods + jenkins + fastlane + git + 蒲公英自动化打包 上传

构建自动化步骤为:

1. Xcode 有Xcode 内部提供的打包命令来打包完成代码的编译和证书签名到最后打包。
2. cocoapods 也是依赖 Xcode 来完成项目包管理的构建
3. Jenkins  这里主要用到 Jenkins 两个目的第一是 git 监听 第二个是邮件发送  后面做了安卓的自动化打包和java 的自动化打包构建 都是在一个上面管理并不需要写太多的代码 主要是节省编码时间
4. fastlane 这个工具可以完成上面所有的工作 但是这里我只是用到了证书管理和自动化打包 当然安卓的打包也是由他来完成  这里也是为什么又要用到它
5. Git 用来做项目管理
(由于时间有限自动化配置匆忙之中花了三天的时间看文档到完成部署这个博客也是在查文档的时候匆忙记录中整理的哪里不懂或者有错请指正!谢谢合作)

Jenkins

一. 什么是 Jenkins?

  1. 持续的软件发布/测试项目,节省重复耗时工作让我们更加专注与项目的开发和业务的处理
  2. 监听外部调用执行工作,自动化处理我们的重复工作。
  3. Jenkins 作为一个持续集成的简单 CI 服务的连续交付中心任何项目都可以使用。

二. Jenkins 的优点有哪些

  1. 简单配置(这个对于 Xcode 并不是很友好这也是为什么要使用 Jenkins 和 fastlane 配合使用的一个原因)
  2. 跨平台 由于是 Java 语言的工作站所以在主流的三大操作系统上都能兼容
  3. 丰富的插件可以扩展性非常好
  4. 分布式可以在多台机器和跨平台构建和测试部署

三. 安装和使用

这里主要讲 mac 端的安装如果有其他需要请参考Jenkins官网

下载并运行 Jenkins(这里之前说过了由于是 Java 语言编写所以请先安装 Java 环境 Java 下载)
  1. 下载詹金斯。
  2. 在下载目录中打开一个终端。
  3. 运行java -jar jenkins.war --httpPort=8080。
  4. 浏览至http://localhost:8080。
  5. 由于都是中文按照说明完成安装就好了,到这里 Jenkins 就已经安装完成了。所有的配置什么的都已经不需要了 到此处就已经可以了!
  6. 新建一个项目

    第一步@2x.png

    第二步@2x.png

    第三步@2x.png

    第四步@2x.png

    第五步@2x.png

Fastlane

什么是 Fastlane?

一. fastlane是为iOS和Android应用程序自动化测试版部署和发布的最简单方法。它处理所有繁琐的任务,例如生成屏幕截图,处理代码签名以及发布应用程序。
二. 我认为 Fastlane 就是整合了一系列的工具的来完成自动化工具的工具!
  1. 首先确认最新版的 Xcode 命令行工具是否安装 打开终端输入xcode-select --install

  2. 安装 Fastlane [sudo] gem install fastlane -NV当然也可以使用 brew cask install fastlane 来安装

  3. 一切顺利的话就直接 cd 切换到当前项目目录中就像我们使用 cocoapods 一样首先进行初始化 fastlane init

    fastlane2@2x.png

  4. 按照提示会询问你是选择哪种方式这里先选择用4自定义一路走下去就可以最后会提示你成功了

  5. 这里先介绍怎么样来进行签名不然后面会一直提示签名失败

  6. 首先输入fastlane match development这里会提示你输入 git 的一个项目路径 用来保存你的代码签名 最好是私有库。 依次输入账号,当然这里有还有另外的三种 fastlane match appstore``fastlane match adhoc``fastlane match enterprise这里面有一个成功的就可以去git 上去看看里面上传的事什么东西了 (注意:这里有个前提就是 Bundle Identifier 要在开发者账号里面注册)

    3@2x.png

    QQ20180714-210620@2x.png

QQ20180714-210325@2x.png

  1. 编辑 Fastfile

    QQ20180714-211040@2x.png

  2. 运行 fastlane beta

    QQ20180714-210620@2x.png

  3. 当然这里还要最后一步就是配置到自动提交到蒲公英上去其实也很简单 添加插件 fastlane add_plugin pgyer

    QQ20180714-215212@2x.png

在本地测试完毕 然后提交代码 到远程仓库去 Jenkins点击立即构建

生成这样的结果就 OK了 配置成功!

Xcode + cocoapods + jenkins + fastlane + git + 蒲公英自动化打包 上传相关推荐

  1. iOS Jenkins自动化打包 上传fir、蒲公英、邮件、钉钉提醒

    一.环境配置 注意,本文章是以Jenkins2.263.4为例 1.首先安装Java环境:官网下载地址 2.安装Jenkins 建议下载Jenkins 2.263.4版本,因为最新版本存在login. ...

  2. IOS-APP自动化打包上传蒲公英Shell版

    #!/usr/bin/env bash # name: adminecho "~~~~~~~~~~~~~~~~开始执行脚本~~~~~~~~~~~~~~~~" #开始时间 begin ...

  3. 初窥 fastlane 一键打包上传蒲公英平台和App Store

    很久之前就听说自动化打包如何方便,只是自己一直没有去尝试过,最近因为项目需求,自己也尝试了一把.关于fastlane网上资料非常多,功能如何强大,自动化测试.证书管理.截屏等.但是我这里只使用自动化打 ...

  4. iOS基于jenkins打包+上传蒲公英+钉钉群通知

    背景:iOS稍微大一点的项目,archive一次需要十几分钟,对开发而言,有时候需要切换分支打包,如果异地办公的情况还要提供测试包,非常麻烦,所以提供远程打包是必不可少的. 一.本地配置jenkins ...

  5. Android使用Jenkins打包上传蒲公英

    Android环境变量 系统管理 - > 全局属性-> 配置环境变量 设置环境变量 系统管理 - > 全局工具配置-> 配置JDK.gradle,git等 jdk git gr ...

  6. win10 jenkins svn android studio 自动化打包教程 以及一些问题的解决办法

    win10 jenkins svn android studio 自动化打包教程 这两天搭建jenkins自动构建环境,中间遇到点坑坑洼洼 分享出来希望后来人少走些弯路 准备软件 jenkins.ms ...

  7. iOS 使用 Fastlane 打包上传 App 到蒲公英

    前置条件 开发者使用的是 mac 或 linux 系统. 已经安装好 ruby.rubygems.bundler. 已经安装了 Fastlane.如果没有安装,请参考:官方安装指南. 本示例使用环境为 ...

  8. Jenkins实现AndroidStudio工程自动化打包(基于Gitee)2022新手入门最简单细致教程

    前置条件: Java环境变量 (推荐使用Java11) Android SDK环境变量 搜索框搜索编辑系统环境变量: 在系统变量中添加 : 变量名 JAVA_HOME 变量值 (路径根据自己实际的ja ...

  9. Jenkins实现android自动打包 上传蒲公英及fir.im

    下载jenkins https://jenkins.io/index.html 下载后得到jenkins.msi文件,直接安装 访问http://localhost:8080 选择安装推荐的插件之后进 ...

最新文章

  1. Confluence 6 数据库表-空间(Spaces)
  2. 在(CListView)列表视图中添加右键菜单的方法
  3. 1061 判断题 (15 分)
  4. 课程设计-三层架构ASP.NET作品分享网站(sql server数据库)
  5. Error: Your project contains C++ files but it is not using a supported native build system
  6. Web 探索之旅 | 第二部分第四课:数据库
  7. 计算机操作系统详细学习笔记(六):并发程序设计
  8. SCM供应链管理系统介绍:企业SCM供应链系统应用领域、优势、功能详解
  9. 松本行弘的程序世界。
  10. win10状态栏点击没反应解决办法
  11. 朋友之间最舒服的关系
  12. python2到100的素数_python输出2到100之间的素数
  13. Vista下最好用输入法 - 搜狗拼音输入法4.0正式版闪亮登场!
  14. HIVE 总体标准差stddev()
  15. Linux--- vi文本编辑器
  16. Java面向对象之interface接口
  17. Hadoop-HA集群启动后两个namenode都是standby问题。
  18. Android系统升级流程
  19. 榆熙电商:拼多多品牌专卖店和旗舰店区别在哪?
  20. 正则表达式中的g是什么意思

热门文章

  1. 解决firefox字体发虚的问题
  2. setjmp.h(c标准库)
  3. Linux apache编译安装
  4. Qt仿win7自动顶部最大化左侧右侧半屏效果
  5. C#水晶报表,窗体不显示,闪退
  6. linux svn启动和关闭(转)
  7. C++ 採集音频流(PCM裸流)实现录音功能
  8. python 字符串%和format_Python必懂知识点,格式化字符串,到底用.format还是%
  9. Go: 清空 Slice 的两种方法:[:0]和nil
  10. Golang slice 的底层实现