生成Docker图像,捕获信息以减少将来重新构建的频率

thriftybuilder的Python项目详细描述


[![构建状态](https://travis-ci.org/wtsi-hgi/thrifty-builder.svg?branch=master)(https://travis ci.org/wtsi hgi/thrifty builder)
[![codecov](https://codecov.io/gh/wtsi hgi/thrifty builder/branch/master/graph/badge.svg)(https://codecov.io/gh/wtsi hgi/thrifty builder)
[![PYPI版本](https://badge.fury.io/py/thrifty builder.svg)(https://badge.fury.io/py/thriftybuilder)

捕获信息以减少将来重新构建的频率清空,或者如果正在生成
请将其放置在另一台具有单独缓存的计算机上。

在我们的设置中,我们将在CI中生成大量Docker映像。ci作业每次都在不同的计算机上运行(具有单独的缓存),这意味着如果使用"docker build",则每次ci运行时都将重建所有图像。先拉会加快速度,但它需要首先将所有图像下载到构建机中!

目的是尽量减少ci运行时间,并尽可能保持docker映像的稳定性(通常很难将进入映像的所有内容进行版本化,因此每次重新构建都会创建稍微不同的
映像,即使上下文和dockerfile相同)。


=1.21)
-python 3.6+

git+https://github.com/wtsi-hgi/thrifty builder.git@master\egg=thriftybuilder
```



\usage
\configuration
使用该工具需要生成配置yaml文件。这个文件详细说明了要构建的图像,
Docker注册表将创建的图像推送到(可选)和校验和存储的位置。

#####local校验和存储:
``yaml
type:local
path:/root/.thrifty/checksums
````

令牌:"{env['consu http戡u token']}"可选:如果未设置,则从consu环境变量派生:key:ci/image checksums
lock:ci/image checksums.lock
````
注意:要使用consu backed存储,必须安装"consu戡requirements.txt"中的要求(不这样做默认情况下,



配置位置

可选参数:
-h,--帮助显示此帮助消息并退出
-v增加日志详细程度(添加多个
进一步增加)
--仅生成打印stdout上新生成图像的详细信息
```



###示例
u configuration.yml
``yaml
docker:
图像:
-名称:wtsi hgi/image-1
dockerfile:/images/image-1/dockerfile
上下文:/images
-名称:wtsi hgi/image-2:version-1
dockerfile:/images/image-2/dockerfile
to be/images/image-2
注册表:
-url:docker.io
用户名:{env['docker\u io\u username']}"
密码:{env['docker_io_password']}"


校验和存储:
类型:consun
url:{{env['consun http_addr']}"
令牌:{env['consun http_token']}"
密钥:ci/图像校验和
锁:ci/image校验和。lock
```

cli:
``bash
thrifty configuration.yml
{"wtsi hgi/image-1":"b2db4c1ae978201407c69573ba89a9b8","wtsi-hgi/image-2":"f9a4d7cc9f7133755636973c23c2cc28288de"}

```





` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` `安装程序
安装工具的依赖项和测试所需依赖项:
` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` `是的-u-r consun requirements.txt
```

```bash
pythonpath=.在项目目录中测试

```bash
。python-m unittest discover-v-s thriftybuilder/tests
```


ci运行测试并生成"run tests.sh"覆盖率。此脚本运行上述测试,
除了测试工具是否可以安装而不出错之外。

要完全在Docker中运行测试,使用"在docker.sh中运行测试"(实验)。




-更具异国情调的Docker映像生成器可能会存储有关生成映像的生成上下文的信息。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java为什么整数构造函数方法不再需要属性?   java单函数从广播接收器检索数据   Java类中的Scala设置器和获取器   JAVA MVC表选择的行ID和mysql db ID不同   java在Multimaps Guava中获取值   jakarta ee Intellij IDEA Java类在保存时不自动编译   java在另一个Spring实体中使用Spring实体   JTwitter库的安卓类一直在给我java。朗朗:温特韦尔。杰特维特。啁啾   java停止启动应用程序   java Jersey测试NoSuchMethodError   java如何处理合成元素上的注释   java崩溃shell无法通过ssh连接   java计算两个日期之间的天数后(取自edittext)如何在新的edittext中显示天数