在 iOS 领域使用 Pod 来进行组件化开发时常常需要手动进行一系列的操作,来实现Pod 组件的更新目的。特别是一些业务关联性比较强的 Pod 组件,需要经常对其进行更新。随着组件的体积越来越大,每次更新的时候,执行 pod lib lint,等待了好几分钟之后,好不容易 podspec 文件检查通过了,需要再进行打 tag 操作,然后再执行 pod repo push 操作,然后再等好几分钟,才能将完成一个 Pod 组件的更新。整个流程不仅耗时,而且繁琐,机械化。这个脚本虽然没能提高pod lib lint 和 pod repo push 的执行速度,但是将这系列繁琐的操作,变成一句话完成。你可以一句话执行脚本,然后离开位置,去倒杯水,活动活动身子,稍微休息休息,再回来时,Pod 组件已经更新完毕并推送到远端了。
你的 Pod 组件必须是已经正确配置,且之前有过手动输命令行更新的经历。
1. podspec 小版本自加一,比如 s.version = "0.1.1"
自动变成 s.version = "0.1.2"
,或者s.version = "10.22.0.15"
变成s.version = "10.22.0.16"
,无论版本长什么样,只要写法是能通过 podspec 的语法检查,那么它就可以自动更新最后一位。
2. pod lib lint 语法检查,如果有依赖私有源,可以在顶部配置地址,既可用于github 上的开源组件,也可用于 Gitlab 内部团队的私有组件,至于Bitbucket,没有试过,但是理论上应该是可行的,如果你发现不行,自己调试之后无法解决,可以在 issue 上提出。
3. git add, git commit, git push,git tag , git push —tags 一系列git 操作,完成提交与 Tag 的推送。
4. pod repo push 操作,将pod组件推送到远端,完成一次pod组件的小版本更新。
1. 将auto.py
文件拖入Pod组件工程中,并保证它与 podspec 文件处于同一级别的目录,如下图
如果你觉得有必要,可自行将auto.py
加入到 .gitignore 中。
2. 打开auto.py
在顶部虚线框中进行配置。如下图
第一项 sources 是pod组件所依赖的私有源地址,它是一个数组,可以填写多个私有源,用逗号隔开。其中 https://github.com/CocoaPods/Specs.git 不需要填写,脚本内已经写了。
第二项是你的项目名称
第三项是podspec文件名
3. 打开终端,cd 到这个脚本文件所在目录中,执行 python auto.py
,即可开始小版本自动升级。如果你的 Pod 已经配置正确,并且之前有过手动输入指令进行升级的经历,那么脚本应该是能成功运行的。
环境说明 Centos7.4 kubernetes1.9.2 docker17.12.1-ce 修改controller-manager启动参数 1.将静态pod目录下的kube-controller-manager.yaml移到到其它目录下更改,在manifests目录下直接更改文件,会产生临时文件,从而导致controller-manager无法正常启动 mv /etc/kubernetes/
1.获取资源 kubectl get <reousrce_type> 2.查看资源详情 kubectl describe <reousrce_type> <reousrce_name> 3.kubernetes设计Pod中为何要有pause根容器 • Pause作为Pod的根容器,可以代表整个容器组的状态 • Pod里的多个业务容器共享Pause容器的IP,共享Pause容器挂接的Volume
本文向大家介绍cocoapods Pod更新Checklist,包括了cocoapods Pod更新Checklist的使用技巧和注意事项,需要的朋友参考一下 示例 使用更新您的项目 git pull origin master s.version内部更新MyRepo.podspec 检查本地错误 pod lib lint MyRepo.podspec git add . 和 git commit
当与后台程序集关联的Kubernetes Pod的configmap更新时,如何自动重新启动它们? 根据kubernetes文档,当configmap卷挂载更新时,它会自动更新POD。但是,我并不认为后台进程集会发生这种情况。我错过了什么? 当我更新configmap中的字段以读取另一个日志文件时,虽然我看到卷挂载正在更新,但我看不到POD正在接收更改,除非我删除并重新创建后台启动。 有没有一种方
所谓POD(Plain Old Data),指的是那些可以像C结构体一样直接操作的“普通”类型,对于该种类型,可以直接对它用memset()/memcpy()来进行初始化/拷贝等操作。 在C++98标准中,POD实际上是受限于结构体定义时所涉之语言特性而定义的。 struct S { int a; }; // S属于POD struct SS { int a; SS(int aa) : a(
我有两个豆荚在kubernetes星系团内运行。豆荚如下 MongoDB豆荚,其类型为:statefulset 脚本吊舱,其类型为:job 如何为提供在mongodb吊舱中运行上述命令的权限? 因此,正如您所说,我创建了另一个类似的pod:job并包含了script.sh。 在script.sh文件中,我运行“Kubectl exec”到主吊舱以运行一些命令 因此,我使用资源创建了一个cluste
注意:PodPreset 资源对象只有 kubernetes 1.8 以上版本才支持。 Preset 就是预设,有时候想要让一批容器在启动的时候就注入一些信息,比如 secret、volume、volume mount 和环境变量,而又不想一个一个的改这些 Pod 的 template,这时候就可以用到 PodPreset 这个资源对象了。 本页是关于 PodPreset 的概述,该对象用来在 P
Pod hook(钩子)是由Kubernetes管理的kubelet发起的,当容器中的进程启动前或者容器中的进程终止之前运行,这是包含在容器的生命周期之中。可以同时为Pod中的所有容器都配置hook。 Hook的类型包括两种: exec:执行一段命令 HTTP:发送HTTP请求。 参考下面的配置: apiVersion: v1 kind: Pod metadata: name: lifecyc