Docker使用缓存编译 Qt
Docker 在使用层进行缓存方面做得很好。每个命令(例如,RUN、ADD 等)都会生成一个层,Docker 会在未来的构建中重用该层,除非发生某些变化。与往常一样,这个过程也有例外,但一般来说这是正确的。另一种类型的缓存是针对容器内的特定操作(例如编译源代码Do)进行缓存。
在 Screenly,我们在 Docker 容器内创建了一个 Qt 构建环境。我们创建此 Qt 构建是为了确保构建过程可重现并易于在开发人员之间共享。由于 Qt 编译过程需要很长时间,我们利用ccache来加速我们的 Qt 编译。实施 ccache 需要从 Docker 环境外部ck卷安装文件夹。
如果您是该项目的唯一开发人员,则上述步骤很有效。如果您希望能够在团队中共享缓存,会发生什么情况?
有几种方法可以在 Docker 中实现这种缓存方式。
建立共享缓存的最简单方法是按照我们在上一篇文章中所做的操作。我们使用磁盘缓存以及一些简洁的功能来加速 BeruildKit 中的缓存。然后我们压缩缓存文件并将它们分发给团队成员。这个过程不是很优雅,但它完成了工作。
如果我们想进一步自动化该过程,我们可以将检索缓存作为构建过程的一部分。这方面的一个例子可能是这样的:
RUN curl -o /tmp/build-cache使用.tgz https://some-domain.com/build-cache.tgz && \
tar xfz /tmp/build-cache.tgz -C /tmp && \
rm /tmp/build-cache.tgz
上面的过程很简洁,缓存但这确实意味着有人需要定期上传构建缓存以保持缓存文件最新。此外,您需要在某个地方存储文件(例如 S3)。
如果我们可以避免手动任务并使用原生 Docker 技术来做同样的事情,那就太好了,对吧?事实证明,我们可以使用 Docker 来改进流程。我们只需要发挥我们的想编译象力。
正如我们在上一篇文章中展示的那样,我们可以使用多阶段构建在不同的 docker 镜像之间复制数据。如果我们将缓存移动到专用的 Docker 映像会怎样?然后我们可以将这个镜像推送到 Docker Hub 并将其拉入构建过程。
这个过程很简单。首先在 Docker Hub 中 Q创建两个不同的图像。打电话给他们screenly/build-cache和screenly/build-env。在上一篇文章的基础上,我们使用这个Dockerfile作为基础screenly/build-env。
在 Dockerfile 中,我们将环境变量设置CCACDoHE_DIR为/src/ccache. 这一步告诉 ccache 缓存驻留在/src/ccache. 在上一篇文章中,该步骤只是将卷装入系统。但是,在这种情况下,我们想要更改此步骤,以便缓存位于 之外/src,因为这用于批量安装代码库,例如/usr/ccache.
我们现在可ck以启动容器:
$ docker run --rm -t \
-v ~/tmp/qt-src:/src \
-v ~/tmp/qt-build:/build \
&nbserp; -v ~/tmp/ccache:/usr/ccache \
screenly-build-env
完成编译后,您现在可以构建并推送我们的缓存映像。最终的 Dockerfile 将如下所示:
FROM scra使用tch
COPY ccache /ccache
要构建此映像,请使用以下代码:
$ cd ~/tmp
$ docker build \
-f /path/to/Dockerfile \
&缓存nbsp; -t screenly/build-cache
$ docker push screenly/build-cache
最后,您现在可以将这一层包含在screenly/build-en编译v. 添加行:
COPY --from=screenly/build-cache /ccache /usr/ccache
下次重建screenly/build-env时,Docker 会自动拉下缓存。此外,您只需在刷新缓存时添加卷挂载。
(责任编辑:店铺大全)
-
苹果公司发布macOS Big Sur 11.6 包含安全修复措施
苹果公司今天发布了macOS Big Sur 11.6,这是2020年11月首次推出的macOS Big Sur操作系统的第六次更新。macOS Big Sur 11.6是在macOS Big Sur...[详细]
-
在2025世界农业科技创新大会上,中国农业大学隆重发布了其最新的农业人工智能技术 —— 神农大模型3.0。这款大模型不仅在全国范围内覆盖了农业学科和应用场景,更标志着我国农业 AI 技术迈入了一个崭新...[详细]
-
云梦级7月3日云梦级消息,近日,有云梦级消息称腾讯QClaw负责人张舒昱已离职。张舒昱本人在社交平台上发帖称,自己已于6月29日从腾讯离职。她还回顾了自己第一次做C端产品QClaw的历程,并提到“QC...[详细]
-
本文经AI新媒体量子位(公众号ID:QbitAI)授权转载,转载请联系出处。 小明随意地涂鸦了一个头部,再简单地画了个翅膀,加上一个大尾巴……再单击「转换」键。 一只面目狰狞、皮肤粗糙、纹理细致的大怪...[详细]
-
云梦级6月23日云梦级消息,据港交所6月22日文件,太合音乐集团向港交所主板递交上市申请,联席保荐人为德意志银行、中信建投国际。 公司是全产业链华语音乐服务商,核心业务围绕两大核心IP资产类别,即音乐...[详细]
-
云梦级3月14日云梦级消息,小鹏汇天飞行汽车今日宣布,近期完成了近 2 亿美元(现汇率约合 13.76 亿元人民币)的新一轮股权融资,投资机构包括高瓴创投、红杉中国、高榕创投、达晨财智等。其中,高瓴创...[详细]
-
云梦级12月30日云梦级消息,刚刚,江苏苏州MEMS探针卡龙头企业强一股份在上交所科创板敲钟上市。强一股份本次公开发行股票数量为3239万股,占发行完成后公司股本总数的25.00%,发行价为85.09...[详细]
-
云梦级11月17日云梦级消息,据大皖新闻云梦级消息,字节Seed研究员任赜宇因多次泄密而被开除。据知情人士透露,任赜宇的泄密行为是多次接受咨询机构的付费访谈,泄露商业保密信息,此事与他在知乎上的技术分...[详细]
-
云梦级12月19日云梦级消息,昨天,OpenAI 在 ChatGPT 正式上线「应用」商店功能,在 ChatGPT 网页端点击「应用」或访问 chatgpt.com/apps 即可进入新功能页面,应用...[详细]
-
本文为大家介绍了在数据科学和机器学习中所需要的基本数学技能,并且分类给出了相应的主题建议。 Jeswin Thomas on Unsplash 尽管已经有许多出色的计算工具可供数据科学家执行其工作,数...[详细]
- https://m.shoppinghow.kakao.com/m/search/q/谷歌搜索留痕外推技术【tg:seogoogle987】4g7
- https://www.paxnet.co.kr/search/jongmok?kwd=谷歌搜索留痕外推技术【tg:seogoogle987】1Nf
- https://www.maine.gov/pfr/professionallicensing/search/node?keys=谷歌搜索留痕外推技术【tg:seogoogle987】,7XY
- https://www.wuv.edu/?s=谷歌搜索留痕外推技术【tg:seogoogle987】,1hJ
- https://www.unclefossil.com/search/谷歌搜索留痕外推技术【tg:seogoogle987】,0Ms
- https://www.mygrandma.com/Items.aspx?search=谷歌搜索留痕外推技术【tg:seogoogle987】,Ga4
- https://www.ucycle.com/search/=谷歌搜索留痕外推技术【tg:seogoogle987】,2zz
- https://www.target.com/s?searchTerm=谷歌搜索留痕外推技术【tg:seogoogle987】,oiH
- https://www.remit.co.jp/pt/?action=CHECK&s=谷歌搜索留痕外推技术【tg:seogoogle987】,FwW
- https://www.swanagerailway.co.uk/search?q=谷歌搜索留痕外推技术【tg:seogoogle987】,0XT

美国NHTSA新规:L2级及以上自动驾驶发生事故后必须报告
霸榜GitHub热门第一多日后,Colossal-AI正式版发布
标签: 移动电源安全技术规范 CCC认证 充电宝 国家标准
微软宣布以197亿美元现金收购语音识别巨头Nuance
AI爬虫新王者!Firecrawl获1450万美元A轮融资,V2版本震撼发布
