buildah脚本工具

buildahscript的Python项目详细描述


建筑脚本

Buildahscript是一种新的容器定义语言,它被构建成命令式的、灵活的。在

它允许您使用buildargs执行更多操作,创建实际可重用的模块,并且通常创建更灵活的容器构建器。在

示例

#!/usr/bin/env buildahscript-py#| pip: requests#| arg: eula: bool#| arg: version: str = "latest"#| arg: type: str = "vanilla"importtarfileimportrequestswithTemporaryDirectory()astd:bin=td/'bin'bin.mkdir()withContainer('rust:buster')asbuild:build.copy_in('cmd','/tmp/cmd')build.copy_in('localmc','/tmp/localmc')build.run(['cargo','build','--release'],pwd='/tmp/cmd')build.copy_out('/tmp/cmd/target/release/cmd',bin/'cmd')withContainer('rust:buster')asbuild:build.copy_in('status','/tmp/status')build.copy_in('localmc','/tmp/localmc')build.copy_in('mcproto-min-async','/tmp/mcproto-min-async')build.run(['cargo','build','--release'],pwd='/tmp/status')build.copy_out('/tmp/status/target/release/status',bin/'status')# Download & extract mc-server-runnerwithrequests.get('https://github.com/itzg/mc-server-runner/releases/download/1.3.3/mc-server-runner_1.3.3_linux_amd64.tar.gz')asresp:resp.raise_for_status()withtarfile.open(resp,'r|*')astf:forentryintf:ifentry.name=='mc-server-runner':tf.extract(entry,bin/'mc-server-runner')withContainer('openjdk:8-jre-slim')ascont:cont.copy_in(bin/'cmd','/usr/bin/cmd')cont.copy_in(bin/'status','/usr/bin/status')cont.copy_in(bin/'mc-server-runner','/mc-server-runner')cont.volumes|={"/mc/world","/mc/server.properties","/mc/logs","/mc/crash-reports","/mc/banned-ips.json","/mc/banned-players.json","/mc/ops.json","/mc/whitelist.json",}cont.entrypoint=["/mc-server-runner","-shell","/bin/sh"]cont.command=["/mc/launch"]cont.healthcheck_cmd=["status"]cont.healthcheck_start_period="5m"returncont.commit()

管道

shpipe(#|)行用于指定buildahscript使用的元数据。基本形式是#| type: data。在

  • pip:提供从PyPI安装的依赖项,作为requirement specifier
  • arg:以Pythonname:type=default形式定义一个构建参数,其中type 类型/解析函数的虚线形式名称,默认值为python文本。在

许可

根据Prosperity Public License条款,此软件包在试用期内可用于商业目的。在

长期商业使用的许可证可通过licensezero.com获得。在

licensezero.com pricing

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

推荐PyPI第三方库


热门话题
java Android:应用程序崩溃发送putExtra的意图   JNI错误:尝试传递java实例。字符串作为参数   JavaJMockit与静态初始化   java@products@消费意义。。。JSON或者它只是一个字符串   java如何解决在命令提示符中找不到或加载主类错误?   java使用JavaMail API发送带有内联图像的电子邮件   java为什么我不能与Twitter共享内容   jspservlet正在显示java。木卫一。FileNotFoundException:?E:\guru99\test。txt(文件名、目录名或卷标语法不正确)   java如何在单击另一页上的按钮时向表视图添加数据?   java在提交表单数据之后,它显示了以下问题   java Spring启动通知/严重错误后重启   java从数组列表中删除元素   java Spring引导批处理:如何使用CompositeWriter和自定义ItemWriter实现多线程步骤   Spring java代码表单post和重定向到其他服务器