惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园_首页
博客园 - Franky
大猫的无限游戏
大猫的无限游戏
博客园 - 三生石上(FineUI控件)
量子位
博客园 - 聂微东
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
S
SegmentFault 最新的问题
Apple Machine Learning Research
Apple Machine Learning Research
爱范儿
爱范儿
V
Visual Studio Blog
雷峰网
雷峰网
T
Tailwind CSS Blog
宝玉的分享
宝玉的分享
Blog — PlanetScale
Blog — PlanetScale
有赞技术团队
有赞技术团队
博客园 - 叶小钗
Microsoft Azure Blog
Microsoft Azure Blog
T
The Blog of Author Tim Ferriss
U
Unit 42
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
小众软件
小众软件
阮一峰的网络日志
阮一峰的网络日志
Y
Y Combinator Blog

Hi,I`m lan

MCP协议新进展: 使用 Streamable HTTP 替换当前的 HTTP+SSE 实现。-liangyuanpeng 的博客 我的 AI 员工们开发的微信小程序上线了!-liangyuanpeng 的博客 | liangyuanpeng's Blog liangyuanpeng 的博客 | liangyuanpeng's Blog vercel 记录-liangyuanpeng 的博客 | liangyuanpeng's Blog liangyuanpeng 的博客 | liangyuanpeng's Blog [长期更新]cocos creator问题列表-liangyuanpeng 的博客 | liangyuanpeng's Blog go问题列表记录-liangyuanpeng 的博客 | liangyuanpeng's Blog liangyuanpeng 的博客 | liangyuanpeng's Blog node镜像的更多选择-liangyuanpeng 的博客 | liangyuanpeng's Blog liangyuanpeng 的博客 | liangyuanpeng's Blog liangyuanpeng 的博客 | liangyuanpeng's Blog containerd 中的弃用警告 - 为 2.0 做好准备!-liangyuanpeng 的博客 liangyuanpeng 的博客 | liangyuanpeng's Blog kep-1880-多服务CIDR-liangyuanpeng 的博客 | liangyuanpeng's Blog [长期更新]argoworkflow 的一些实践和思考-liangyuanpeng 的博客 | liangyuanpeng's Blog liangyuanpeng 的博客 | liangyuanpeng's Blog liangyuanpeng 的博客 | liangyuanpeng's Blog 将Etcd作为一个kubernetes sig来运作-liangyuanpeng 的博客 | liangyuanpeng's Blog liangyuanpeng 的博客 | liangyuanpeng's Blog argoworkflow 云原生工作流引擎-liangyuanpeng 的博客 | liangyuanpeng's Blog liangyuanpeng 的博客 | liangyuanpeng's Blog liangyuanpeng 的博客 | liangyuanpeng's Blog kubecon china 2023将在上海举办-liangyuanpeng 的博客 | liangyuanpeng's Blog liangyuanpeng 的博客 | liangyuanpeng's Blog liangyuanpeng 的博客 | liangyuanpeng's Blog liangyuanpeng 的博客 | liangyuanpeng's Blog liangyuanpeng 的博客 | liangyuanpeng's Blog liangyuanpeng 的博客 | liangyuanpeng's Blog liangyuanpeng 的博客 | liangyuanpeng's Blog liangyuanpeng 的博客 | liangyuanpeng's Blog
liangyuanpeng 的博客 | liangyuanpeng's Blog
2023-04-26 · via Hi,I`m lan

TOC

这篇在讲什么

主要是记录我使用 oras 的一些使用场景。

由于已知 oras 是一个将任意内容存储为容器镜像的工具,因此不过多介绍 oras。

都有什么场景

存储工作区间

经常会有一些工作区间的文件需要存储,不想用 git,目前使用 oras 将这些文件存放到容器镜像内。

对我来说所谓的工作区间是,我做一些实验时经常会临时搭建一些环境,可能是虚拟机 也可能是容器内套个环境,比如 ubuntu 容器。

而开始实验需要用到这些工作区间的文件,只需要一个 oras 命令,并且将不同的东西存放到不同的容器镜像内就可以轻松的获取需要的那部分内容。

CICD 中的编译产物缓存

使用 drone 时,搭配 oras 使用将编译的产物缓存到容器镜像内,在下一次 CI 到来时从容器镜像内恢复编译产物,达到加快 CI 速度的效果。

目前在我的 github 私有项目中同样使用了 oras 将编译产物缓存到容器镜像内.

由于 gitea 目前(v1.22.0)还不支持 OCI 容器镜像,因此我还使用Jib 将 maven 缓存存储到普通的容器镜像内,在 oras 出现之前我就是这么干的,直到现在.

将常用的二进制命令放到容器镜像仓库

使用 oras 将常用到的二进制命令打包成容器镜像存放到容器镜像仓库,需要使用时直接使用 oras 下载命令,不再需要去各个项目的 github 仓库找到对应的 release 链接来下载。

例如:

oras pull ghcr.io/liangyuanpeng/files:cosign 直接下载 cosign 命令。 oras pull ghcr.io/liangyuanpeng/files:shp 直接下载 shp 命令。

当然,对外使用的话由于缺少版本信息不太方便,但是我个人使用已经足够了,如果我需要更新的二进制文件版本,则使用 oras push ghcr.io/liangyuanpeng/files:cosign cosign 去更新一次就可以了。

行业内的使用情况

微信公众号

扫描下面的二维码关注我们的微信公众号,第一时间查看最新内容。同时也可以关注我的Github,看看我都在了解什么技术,在页面底部可以找到我的Github。

wechat-qrcode