这两天花时间整理一下自动化打包的整套流程,现在iOS端的整套流程是没有问题了,这个过程中踩得坑也的确是特别多,所以这周末把整个流程整理一下,总结出来这篇文章,希望能对有需要的小伙伴有点点帮助。
在开发过程中,总是被其他同事(开发,测试,产品等)要求临时打个包。恰巧之前配置的是一套本地用Python命令的自动化打包工具,但是仍然无法避免的要贮藏当前分支的代码,然后切换分支在本机上打包。一来一回,很耽误时间,更不用说如果用的手动打包方式该有多浪费时间了。
最近项目在做新项目时经常发现有很多小bug需要改动,一改就要重新打包,哪怕是一个很小的项目,光是编译打包导出,再上传到测试平台没个十几分钟也是下不来的。本来的话也只是想找个自动打包的脚本,找了几个发现都不怎么理想,于是就瞄准了 Jenkins + Fastlane
这个文件大家应该都知道,无非就是设置一下 name、id、team 做好预设就就不用选了,方便跑自动化
4.1 文件介绍 Appfile内部是个人开发者账号的配置 Fastfile 定义的是一个个的lane,执行不同的打包操作操作实例 单个打包 ElbT fastlane ElbT
.env 是非常简单的配置文件,简单到什么程度呢? 它只支持一维K/V格式的配置项,而且 key 和 value 都只能是字符串。
可能看到这一篇文章很多人认为 Jenkins就可以实现自动化打包,并且 Fastlane配置 完毕之后打包更加的轻松。干嘛还搞在一起,这不是重复了吗。
1 本文只是fastlane的基本使用. 2 使用fastlane前,确保你已经可以使用Xcode手动打包成功(说明你已经配置好证书)
严选iOS客户端的现有打包方式是通过远程连接打包机执行脚本去打包,打完包会输出相应的ipa的二维码,扫一扫二维码可以安装,但是随着测试队伍的壮大,外包同学越来越多,在打包机输入命令的方式可用度越来越低,手动输入命令的缺陷有:
在第一次组件化的时候,需要执行很多操作,这些操作可以在【iOS 组件化开发(一):远程私有库的基本使用】,这里就不再赘述,在组件化后的重复性操作就是升级,而升级这个过程是一模一样的。那么,我们有什么办法可以很方便的搞定这一过程来节约我们大量的时间呢? 一、升级必备操作 修改完核心代码后,一共还需要做以下几步: 1、修改spec文件(修改s.version,s.description等) 2、pod install (使Example与pod下来的库产生关联) 3、提交本地仓库代码至远程仓库 4
众所周知,现在App的竞争已经到了用户体验为王,质量为上的白热化阶段。用户们都是很挑剔的。如果一个公司的推广团队好不容易砸了重金推广了一个APP,好不容易有了一些用户,由于一次线上的bug导致一批的用户在使用中纷纷出现闪退bug,轻则,很可能前期推广砸的钱都白费了,重则,口碑不好,未来也提升不起用户量来了。静下心来分析一下问题的原因,无外乎就是质量没有过关就上线了。除去主观的一些因素,很大部分的客观因素我觉得可以被我们防范的。根据大神们提出的一套开发规范建议,CI + FDD,就可以帮助我们极大程度的解决客观因素。本文接下来主要讨论 Continuous Integration 持续集成(简称CI)
app_store_connect_api_key 访问App Store秘钥相关,需要在APP主页申请生成,App Store访问秘钥相关,需要在APP主页申请
前言 众所周知,现在App的竞争已经到了用户体验为王,质量为上的白热化阶段。用户们都是很挑剔的。如果一个公司的推广团队好不容易砸了重金推广了一个APP,好不容易有了一些用户,由于一次线上的bug导致一批的用户在使用中纷纷出现闪退bug,轻则,很可能前期推广砸的钱都白费了,重则,口碑不好,未来也提升不起用户量来了。静下心来分析一下问题的原因,无外乎就是质量没有过关就上线了。 除去主观的一些因素,很大部分的客观因素我觉得可以被我们防范的。根据大神们提出的一套开发规范建议,CI + FDD,就可以帮助我们极大程
fastlane 是一个用于 iOS 和 Android 开发人员自动化繁琐任务的工具,如生成屏幕截图、处理配置文件和发布应用程序。
作者:Shashikant Jagtap 时间:2017 年 6 月 4 日 原文:https://medium.com/xcblog/xcodebuild-deploy-ios-app-from-command-line-c6defff0d8b8
曾经我以为自动化打包很没必要,所以一直都是Xcode中规中矩的打包操作然后发布;而如今我正在经历着一天之中反复的测试、回归,有时一天打包发布个三五次,不断的来回告诉测试妹子打包发布了去下载吧,有时妹子也烦。
最先想到的方案当然就是跟iOS一样使用fastlane,查了下相关资料发现fastlane有点重iOS轻Android,于是放弃。找到代替方案,直接使用gradle的方式打包,当然这边自动化分发也只是通过curl命令分发到蒲公英平台。所以本文的Jenkins环境还是在Mac OS X 下,Mac下安装Jenkins的坑已经踩过 有需要的可以再去看下之前的文章Mac下使用Jenkins踩坑 Fastlane自动化iOS打包
首先,新建一个空文件夹,编辑器(webstrom)打开文件夹,执行npm init -y,生成package.json,在根目录新建webpack.config.js,加入如下代码(webpack 4.0的基础配置)
fastlane安装成功后,安装两个插件,用于版本号管理和打包成功后上传到对应的第三方平台
不论你的团队拥有 5 个还是 100 个 App,你总能找到帮你管理 Play Store 列表的自动化工具。Google Play 允许你通过其开发者 API 来管理你的 Play Store 列表、打包好的 APK 等。2017 年 1 月的时候,Google 从 Twitter 收购了名为 Fabric 的开发者套件,其中包含了可以自动化截图、管理测试版部署、签名并将 App 推送到 Play Store 的 fastlane。
如果我们要从零开始开发一个移动端的 App,支持 Android 和 iOS ,那么,本文应该恰恰是你应该去看一看的。
最后看到Installation successful!如下提示就说明安装成功了。
大家好,很高兴告诉大家一件重要的事情,我们发起了一个开源项目 —— AppleParty(苹果派)(苹果派)。这是我们团队在上一个 开源的 App Store 后又一个尝试。AppleParty 这个项目是我们 37手游 iOS 团队内部孵化的一个产品,希望这个项目能作为一个引子,通过开源与大家分享成果,一起提高效率和拓展大家对未来的探索方向。
在 Mac 环境下,我们需要先安装 JDK,然后在 Jenkins 的官网 下载最新的 war 包。下载完成后,打开终端,进入到 war 包所在目录,执行以下命令:
第一个选项的意思是:自动截屏。这个功能能帮我们自动截取APP中的截图,并添加手机边框(如果需要的话) 第二个选项的意思是:自动发布beta版本用于TestFlight 第三个选项的意思是:自动发布到AppStore 第四个选项的意思是:手动设置。
正常产品开发完成之后,我们都需要给测试人员打包,又是测试包,又是生产包的,打一次包需要浪费十几分钟的时间,甚至有时候,你刚打完包,产品过来告诉你某个地方需要微调一下(麻蛋,这个时候是不是想弄死他),但是没办法,只好改完bug,继续打包,就这样可能一上午或者一下午就这样浪费了,所以有一个能够自动化打包的工具不仅能够为我们节省大量的时间,还可以让我们能够装逼。。。。。(这是重点) 其实自动化打包的工具有很多,比较流行的有Jenkins和fastlane,原来尝试过Jenkins,感觉这个工具比较麻烦,需要
原文发布于 Fiora 构建指南 – 春花秋月 (fmcf.cc) 中,若要获得最好的阅读体验,可前往原文查看
准备工作 1.安装xcode 2.安装cocospod 3.react-native源文件(git获取源码) 4.安装npm包管理工具 5.安装react-native-cli
最近我们正在使用 React Native 来重写 Growth 应用,GitHub 地址:growth-ng 。作为一个『咨询师』,我要再一次地切换技术栈,从混合应用开发转向 React Native。 重写 Growth 项目,由于业务内容繁多,也因此变成了一个庞大的工程。为了减少开发的时候,不断也开现一些错误,因此花了一段时间来探索:APP 端的持续部署。因此在这一篇文章里, 我们将介绍基于下面的几个框架来搭建持续集成: React Native 与持续集成服务器 Travis CI 的使用 单元测试
自此,开发者可以迅速投入到业务代码的开发,而不用去搭建脚手架,写一堆配置和胶水代码去整合各种框架等等。
是一个由事件驱动的自动化平台,通过设置触发条件,在某些事件发生时自动运行指定的操作。换句话讲,GitHub Actions不仅允许开发人员在平台上托管代码,还可以操作它。通过GitHub Actions,我们能够自动化一个跨团队、手动且容易出错的流程。可以使每个团队能够独立运作,有助于提高生产力。
在这篇指南中,我们将探索使用 Google Fonts 在 React Native 应用中添加自定义字体的方法。要跟上进度,你应该熟悉 React Native 或 Expo SDK 的基础知识,包括 JSX、组件(类和函数式)和样式。
接上期,(如果看不懂的,请从第一期看,否则可能和看天书没两样),最近在梳理一些问题的时候,发现一个现象,大部分出现问题后,解决就完了,网上很多文字,大多都是这样,先提出一个问题,然后就给出答案,然后就么有然后后了。而这样的结果一般是好不了的,这和狗熊掰棒子没啥区别。所以才有了这期,这期是要说说repmgr 的一些系统表,一些常见的被问及的问题,(一些深层的问题,还得继续研究)
推送通知已成为构建移动应用时需要考虑的重要功能。由于它们类似于短信,但发送不需要任何费用,许多企业现在更喜欢使用推送通知向应用用户发送信息和警报。
在部署django开发的站点时,通常有两种选择方式,nginx+django+uwsgi或者django+nginx+gunicorn,本文不讨论apache方式,在linux下通常都使用nginx,速度快,还经常做代理服务器,功能强大。。 nginx+django+uwsgi个人觉得uwsgi配置较为麻烦,所以选择了gunicorn,一个开源Python WSGI UNIX的HTTP服务器,据说速度快(配置快、运行快)、简单,默认是同步工作,支持Gevent、Eventlet异步,支持Tornado。有兴趣可以自行查阅官方文档
上一篇,通过@babel/parser将index中的es6代码解析成ast(抽象语法树),接下来,我们可以根据Body里面的分析结果,遍历出所有的引入模块,但是比较麻烦,这里推荐babel的一个模块@babel/traverse,帮我们处理。
尽管使用su命令后,普通用户可以完全切换到root管理员身份来完成相应工作,但这将暴露root管理员的密码,从而增大了系统密码被黑客获取的几率,这显然并不是最安全的方案。
React Native 之旅 React Native 踩坑开始 5.1 假期 就这样短暂的结束了,你都干啥了? 😂,我嘛加了3天班,你们呢? 最近公司有个React Native 项目,不得不学习下RN了。由于之前学过React,学React Native 过程还算可以,不太艰难。 学习React Native 踩了好多坑,总结文章,以便别的小伙伴开发RN,可以轻松上手,减少踩坑。😂 ---- React Native 环境 安装(必须按照以下3个要求配置安装,否则会环境错
ldap是统一认证服务,它的优点是存储用户认证等不经常改变的信息,有清晰的组织结构。
React Native 之旅 📷 React Native 踩坑开始 ★5.1 假期 就这样短暂的结束了,你都干啥了? 😂,我嘛加了3天班,你们呢? 最近公司有个React Native 项目,不得不学习下RN了。由于之前学过React,学React Native 过程还算可以,不太艰难。 学习React Native 踩了好多坑,总结文章,以便别的小伙伴开发RN,可以轻松上手,减少踩坑。😂 ” ---- React Native 环境 安装(必须按照以下3个要求配置安装,否则
TypeORM 是一个ORM (opens new window)框架,它可以运行在 NodeJS、Browser、Cordova、PhoneGap、Ionic、React Native、Expo 和 Electron 平台上,可以与 TypeScript 和 JavaScript (ES5,ES6,ES7,ES8)一起使用。 它的目标是始终支持最新的 JavaScript 特性并提供额外的特性以帮助你开发任何使用数据库的(不管是只有几张表的小型应用还是拥有多数据库的大型企业应用)应用程序。
最近一段时间在开发面向移动设备的网页,而且是静态网页。所以很需要一个HTTP服务器,简单明了的就可以。在Windows上,HFS(http://www.rejetto.com/hfs/)是我比较钟爱的一个小工具,并且还是免费。在Mac电脑上,尝试了几款轻量的HTTP文件服务器,感觉都不是很理想。比如App Store里面的SimpleHTTPServer,我甚至花了25块钱购买了Pro版,竟然连最基本的HTTP Range都不支持。还有就是Python带的那个SimpleHTTPServer模块,也是不太良
我这里由于配置了多个 nginx.conf 配置文件,默认情况下,直接双击nginx.exe 即可运行,默认加载的是 conf\nginx.conf 配置文件。
代码生成了,但是里面有require函数,exports浏览器是不认识的,因此接下来需要实现require和exports 具体步骤:
当执行bundle install时,需要根据Gemfile或者Gemfile.lock下载指定的ruby gems。当在Github CI进行构建时,我们可以把需要下载的ruby gems通过使用Github action缓存到当前的CI服务器,这样当进行构建时,就能更快的加载我们需要的gems。
当使用nginx作为web服务器时,出现500错误通常意味着nginx无法处理请求。这种情况通常由以下原因引起:
网上和很多书上都有不少的hadoop在linux系统下的安装教程,但是尝试过的读者会发现,就算是按照这些教程一步步的操作,还是会在某个地方出错,主要原因是版本问题。尤其是书上的版本一般都较老,所以并不建议对着书上的教程来操作,但是可以作为参考。下面给出我自己亲身实践的安装过程,尽量把我知道的原理也写出来,这样就算有些步骤出现问题,知道了原因也是很容易解决的,就怕出现问题了,还不知道问题出在哪?
在部署虚拟桌面的时候,由于服务器端平常不会部署显卡,因此很多的图形解码都需要依靠CPU来进行运算。Windows 7默认提供了比较炫的Aero效果用来提高用户的图形体验,但是在VDI环境中我们往往需要考虑虚拟桌面的可扩展性与运行性能,此时如果在虚拟桌面中使用Aero无疑会极大增加虚拟桌面的CPU使用率、内存占用造成用户的日常使用体验较差。
延长kubeadm搭建的Kubernetes集群证书有效期是一个敏感的操作,确保在进行之前备份所有重要的数据和配置文件,以防出现问题。以下是详细的步骤:
每周资讯 IMWeb前端社区 想要成为一名优秀的前端,需要及时掌握互联网技术的时事热点,这周又有哪些值得关注的最新动态呢,让我来为大家一一揭晓! 1 调查:扎克伯格被评为全球IT业最不谨慎的CEO 据韩联社6月30日报道称,最近一项调查研究显示,全球IT企业CEO中,性格最为谨慎的是特斯拉及SpaceX的首席执行官埃隆-马斯克。相反,获评最不谨慎CEO的是Facebook首席执行官马克-扎克伯格。上述排名是由职业咨询公司Paysa利用IBM的超级计算机沃森计算得出。通过对全球IT业11位CEO的演讲、论文
领取专属 10元无门槛券
手把手带您无忧上云