使用MacMini作为打包机+Jenkins进行自动化打包
使用MacMini作为打包机+Jenkins进行自动化打包
p {
font-size:18px;
}
背景
团队目前4个人,iOS(2)安卓(2),App打包需要占用研发的电脑,以iOS为例,打包一次司机端的ipa包,大概需要4-5分钟,打包一次货主端的ipa包,大概需要3分钟,基于这种情况,将之前申请的macMini,安装上jenkins的服务,配置上打包任务。这样每次打包就不用占用开发电脑,提高效率
最终效果Jenkins配置主页面
钉钉发送效果图
思路
踩坑jdk无法下载
jdk是属于oracle公司的产品,看了之前的文档让下载jdk11,但是jdk11没有找到,只找到了Java11,而且还是需要登录才能下载,于是去注册了oracle的账号,结果注册之后,仍然不能下载报404,
最后解决办法是下载了图二所示的JDK22,安装后正常使用
局域网无法访问指定ip对用的jenkins这个是由于jenkins开放ip默认是127.0.0.1.需要将开放ip更改为0.0.0.0,参考资料二解决此问题
钉钉插件发送消息报错的问题
该问题是由于钉钉插件,保存有问题 ...
Django开发分享
背景介绍
Django是一个开放源代码的Web应用框架,由Python写成。采用了MTV的框架模式,即模型M,视图V和模版T。它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是CMS(内容管理系统)软件。并于2005年7月在BSD许可证下发布。这套框架是以比利时的吉普赛爵士吉他手Django Reinhardt来命名的。2019年12月2日,Django 3. 0发布 。目前的django版本是4.2.3
官网地址MTV 模型Django 的 MTV 模式本质上和 MVC 是一样的,也是为了各组件间保持松耦合关系,只是定义上有些许不同,Django 的 MTV 分别是指:● M 表示模型(Model):编写程序应有的功能,负责业务对象与数据库的映射(ORM)。● T 表示模板 (Template):负责如何把页面(html)展示给用户。● V 表示视图(View):负责业务逻辑,并在适当时候调用 Model和 Template。除了以上三层之外,还需要一个 URL 分发器,它的作用是将一个个 URL 的页面请求分发给不同的 View 处理,View 再调用相 ...
vue学习【1】
学习vue的第一天,从web开发开始1.1 学习资料
学习链接mozilla
html常用标签介绍
12345678910111213141516171819202122<!doctype html><html lang="en-US"> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width" /> <title>My test page</title> </head> <body> <img src="images/firefox-icon.png" alt="My test image" /> </body></html><!DOCTYPE html>-- 文档类型,这 ...
ReactNative新架构分享
RN的前世今生123React Native是2013年在facebook的内部黑客马拉松中诞生的。到今年2022年新架构,已经整整10年。
### RN适用什么场景
* 业务更新迭代较快的团队与出海团队。
* 既要支持动态更新,又要支持复杂业务的场景。
为什么要学习 React Native ?
React Native 是一个非常流行的跨端框架,开发者认可度很高
2. React Native 是一个跨领域的融合技术,它是你现有技术的自然延伸。3. 更为重要的是,今年RN将会发布新架构。新架构将带来以下三个方面的优势
React Native 新架构的启动性能会有 2 倍左右的提升。
React Native 新架构的通信性能会有 3 倍左右的提升。
React Native 新架构的渲染流水有了很大的变化,这会带来更好的用户体验。
RN的技术栈下图是RN会涉及到的知识图谱
序号
内容
1
开发语言、React 框架、开发必备工具这些预备知识
2
React Native 本身的知识, 组件等
3
工作流中的实操知识
如何搭建一个RN页面 ...
Tree命令及简单使用
我用的是阿里云服务器,CentOS7,默认没有tree这个命令,需要安装,用下面的命令就可以安装:
1sudo yum install tree
怎么样使用tree这个命令其实有个非常简单的办法,就是直接查看关于tree的帮助,输入下面的命令,可以查看关于tree命令的帮助信息
1tree --help
最简单的使用办法是直接输入tree命令,就会自动给我们以树形的形式列出当前目录的文件和文件夹,不加任何参数,它会自动列表当前目录下面所有深度级别的文件和目录。
几个比较常规的用法
显示目录结构1tree
包含隐藏文件
1tree -a
控制深度(假设为2)
1tree -L 2
更多的选项
选项
说明
-a
显示所有文件,包含隐藏文件。
-d
只显示目录。
-l
跟踪符号链接,如果链接的是一个目录,则当成目录处理。
-f
显示完整路径。
-x
只显示本文件系统。
-L level
控制显示的目录深度。
-R
在下级目录中,再次执行 tree 命令并且加上 ‘-o 00Tree.html’选项,配合-L,-H使用。
-P ...
无题
技术交流大纲交流背景入职一个多月,通过阅读公司的技术资料,结合自己多年的开发经验,分享一些好的,对项目有益的想法及落地方案,此外对项目的理解,提一些个人的看法,有什么不足/不对的地方,希望各位同事查漏补缺
关于调试工具DoraemonKit
目前在建龙物流端,接入了Dokit,此外根据
官方文档设计了两个插件,
一个是用来切换正式和测试环境,
一个是根据页面classname来跳转对于空页面(用于调试UI)
接入说明:插件的接入主要分下面几步,第一步: 创建一个插件Vc,用来承载插件功能,具体开发功能,用户自定义第二步: 实例化一个插件类,实现协议DoraemonPluginProtocol
1234// 该代理方法是点击插件按钮时会触发- (void) pluginDidLoad{ /// 如创建页面,push到堆栈中}
第三步:将插件挂载到dokit的首页上
1[[DoraemonManager shareInstance] addPluginWithTitle:@"环境切换" icon:@"doraemo ...
ReactNative学习四:State
如何让页面动起来?如图是一个简单的购物车页面的UI,分别用来展示商品的名称、价格和数量。
选择状态这个页面需要一个标示页面请求正常or失败的状态,这里使用枚举值
123456const RequestStatus = { IDLE = 'IDLE', PENDING = 'PENDING', SUCCESS = 'SUCCESS', ERROR = 'ERROR'}
此外还需要一个列表对象用来展示数据,采用
1const [products, setProduct] = useState([]);
即一个枚举和一个数组来展示页面。
状态更新基础数据类型的状态更新还是看下面的代码,以更新数量为例,首先注册了状态 “count”,然后在组件的返回函数里面,通过按钮的点击事件,调用setCount(count+1),来达到更新count值的效果。
12345678910export default function count(){ const [c ...
ReactNative学习三:样式Style
前言组件只是页面的架子,如果不使用样式,就会平铺在页面上,没有什么体验可言。
React Native的组件样式有哪些?React Native的Flex布局有哪些特点?React Natice的样式代码怎么管理?
一、组件样式1.1 通用样式大部分的React组件都有样式属性,style,例如改变文字
1234// 文字颜色<Text style={{color:'red'}}>// 圆角边框<Text style={{borderColor:'gray',borderWidth:1,borderRadius:5}}>
下图是常见的通用样式和组件样式的一些继承关系
1.2 私有样式View的样式,可以认为是通用样式,如Layout、Transform、Shadow、backgroundColor、opacity。像Text、Image、除了继承自View的通用样式以外,还有如font、color、lineHeight等等这些样式,都可以 ...
iOS接入fastlane简易版教程
fastlane 是什么?一套使用Ruby写的自动化工具集,旨在简化Android和iOS的部署过程,自动化你的工作流。它可以简化一些乏味、单调、重复的工作,像截图、代码签名以及发布App
fastlane 可以干什么
插件
功能
gym
是fastlane提供的打包工具。
snapshot
生成多个设备的截图文件
frameit
对截图加一层物理边框
increment_build_number
自增build number 然后与之对应的get_build_number。Version number同理。
cert:
创建一个新的代码签名证书
sigh:
生成一个provisioning profile并保存打当前文件
pem:
确保当前的推送证书是活跃的,如果没有会帮你生成一个新的
match:
在团队中同步证书和描述文件。(这是一种全新的管理证书的方式)
testflight:
上传ipa到testflight
deliver:
上传ipa到AppStore
fastlane 安装指南gem 安装fastlane
1sudo ...