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

简介: Xcode + cocoapods + jenkins + fastlane + git + 蒲公英自动化打包 上传构建自动化步骤为:1. Xcode 有Xcode 内部提供的打包命令来打包完成代码的编译和证书签名到最后打包。

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. 新建一个项目


    img_8dd08371d09d5ce5db08caf40c51f781.png
    第一步@2x.png

    img_d572a6105e96a93ce86352e1b834f9cc.png
    第二步@2x.png

    img_cf3654860d5f9c92ae864c9e343ee3dd.png
    第三步@2x.png

    img_912c907c08d8191e2ae5b3242305b17f.png
    第四步@2x.png

    img_9d770c13569052d467739c0b1d1ba163.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

    img_d71bbf3eb3dacd5d7345f5328e328359.png
    fastlane2@2x.png

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

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

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

    img_494bf28f5e9f7da9f752067b202fe49b.png
    3@2x.png

    img_3b5405b552bb4e5d9582dcf5c771333e.png
    QQ20180714-210620@2x.png

img_83dee436cc82c3daa4dee2c4a03ce91c.png
QQ20180714-210325@2x.png
  1. 编辑 Fastfile

    img_bb7306a1ed394c3a51ea45f53b6a4a33.png
    QQ20180714-211040@2x.png

  2. 运行 fastlane beta

    img_3b5405b552bb4e5d9582dcf5c771333e.png
    QQ20180714-210620@2x.png

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

    img_727d76b3037f9dc116fc92cab0eac6fd.png
    QQ20180714-215212@2x.png

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

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

相关文章
|
2月前
|
存储 Shell Linux
快速上手基于 BaGet 的脚本自动化构建 .net 应用打包
本文介绍了如何使用脚本自动化构建 `.net` 应用的 `nuget` 包并推送到指定服务仓库。首先概述了 `BaGet`——一个开源、轻量级且高性能的 `NuGet` 服务器,支持多种存储后端及配置选项。接着详细描述了 `BaGet` 的安装、配置及使用方法,并提供了 `PowerShell` 和 `Bash` 脚本实例,用于自动化推送 `.nupkg` 文件。最后总结了 `BaGet` 的优势及其在实际部署中的便捷性。
118 10
|
3月前
|
jenkins 持续交付 开发者
自动化部署:使用Jenkins和Docker实现持续集成与交付
【8月更文挑战第31天】本文旨在为读者揭示如何通过Jenkins和Docker实现自动化部署,从而加速软件开发流程。我们将从基础概念讲起,逐步深入到实际操作,确保即使是初学者也能跟上步伐。文章将提供详细的步骤说明和代码示例,帮助读者理解并应用这些工具来优化他们的工作流程。
|
18天前
|
运维 监控 jenkins
运维自动化实战:利用Jenkins构建高效CI/CD流程
【10月更文挑战第18天】运维自动化实战:利用Jenkins构建高效CI/CD流程
|
30天前
|
测试技术 开发工具 git
利用Git Hooks自动化你的开发流程
【10月更文挑战第6天】在现代软件开发中,版本控制至关重要,Git作为主流工具,提供了强大的代码管理功能。Git Hooks 是 Git 的一个特性,可在特定事件(如提交、推送)发生时自动执行脚本,实现开发流程自动化。本文介绍 Git Hooks 的基本概念、常见用例及设置方法,涵盖 pre-commit、pre-push 等多种类型的 Hooks,并展示了如何利用它们进行代码格式化、自动化测试和风格检查,提升开发效率与代码质量。通过合理应用 Git Hooks,可以显著减少人为错误,确保代码一致性,并促进团队协作。
|
30天前
|
运维 jenkins 持续交付
自动化部署的魅力:如何用Jenkins和Docker简化运维工作
【10月更文挑战第7天】在现代软件开发周期中,快速且高效的部署是至关重要的。本文将引导你理解如何使用Jenkins和Docker实现自动化部署,从而简化运维流程。我们将从基础概念开始,逐步深入到实战操作,让你轻松掌握这一强大的工具组合。通过这篇文章,你将学会如何利用这些工具来提升你的工作效率,并减少人为错误的可能性。
|
18天前
|
运维 监控 jenkins
运维自动化实践:利用Jenkins实现高效CI/CD流程
【10月更文挑战第18天】运维自动化实践:利用Jenkins实现高效CI/CD流程
|
3月前
|
jenkins Linux 持续交付
在Linux中,如何使用Jenkins和Ansible进行虚拟化环境的自动化和持续集成/持续部署(CI/CD)?
在Linux中,如何使用Jenkins和Ansible进行虚拟化环境的自动化和持续集成/持续部署(CI/CD)?
|
3月前
|
JavaScript jenkins 持续交付
自动化部署与持续集成:使用Jenkins和Docker优化开发流程
【8月更文挑战第31天】在软件开发的世界里,时间就是一切。本文将引导你通过Jenkins和Docker的强大组合,实现自动化部署和持续集成,让你的开发流程如丝般顺滑。我们将从基础设置开始,逐步深入到构建管道,最终实现一键部署的梦想。准备好让你的开发效率飞跃,一起探索这个令人兴奋的旅程吧!
|
3月前
|
jenkins Shell 持续交付
自动化部署:使用Jenkins和Docker实现CI/CD
【8月更文挑战第31天】 本文旨在引导读者了解如何通过Jenkins和Docker来实现持续集成和持续部署(CI/CD),从而优化开发流程,提升工作效率。文章将详细介绍配置Jenkins服务器、创建Docker镜像以及设置自动化构建和部署的步骤。通过实际操作案例,我们将展示如何将代码变更快速部署到测试或生产环境,确保软件质量与发布速度的双重保障。
|
3月前
|
图形学 数据安全/隐私保护 iOS开发
Unity与IOS⭐Xcode打包,上架TestFlight的完整教程
Unity与IOS⭐Xcode打包,上架TestFlight的完整教程
下一篇
无影云桌面