简化Docker容器在构建软件中的使用

scuba的Python项目详细描述


水肺Build Statuscodecov.ioPyPIGitter

使用构建设备的简单容器

水肺是一个简单的工具,使其更容易使用码头集装箱在日常发展。 它旨在供开发人员在基于“make”或“scons”的构建环境中使用,其中 整个构建环境都封装在Docker容器中。

它的目的是降低使用docker进行日常构建的障碍。水肺让你远离 必须记住一个复杂的docker run命令行,并将其转换为

$ docker run -it --rm -v $(pwd):/build:z -w /build -u $(id -u):$(id -g) gcc:5.1 make myprogram

进入这个:

$ scuba make myprogram

安装

通过PIP安装

水肺是hosted at PyPI

要安装:

$ sudo pip install scuba

要卸载:

$ sudo pip uninstall scuba

从源安装

水肺只能在Linux上从源代码构建(因为scubainit 必须编译):

  1. 运行make生成scubainit
  2. 运行./run_nosetests.py以运行单元测试
  3. 运行sudo python setup.py install安装水肺
  4. 运行./run_full_tests.py测试已安装的水肺版本

如果安装了musl-libc,它可以用来减小scubainit的大小, 通过在步骤1中重写CC环境变量:

CC=/usr/local/musl/bin/musl-gcc make

注意,以这种方式从源代码安装可能导致安装 增加了SCBUA的启动时间。有关详细信息,请参见#71。这可能是 通过强制安装wheel进行补救,例如:

$ export CC=/usr/local/musl/bin/musl-gcc    # (optional)
$ sudo pip install wheel
$ python setup.py bdist_wheel
$ sudo pip install dist/scuba-<version>-py2.py3-none-any.whl

配置

配置是使用根目录中名为.scuba.ymlYAML文件完成的 项目的目录。应该将.scuba.yml签入到版本控制。 关于.scuba.yml的完整文档可以在^{}中找到, 具体的例子可以在^{}目录中找到。

示例.scuba.yml文件可能如下所示:

image:gcc:5.1aliases:build:make -j4

在本例中,scuba build foo将在gcc:5.1容器中执行make -j4 foo

许可证

这个软件是在MIT License下发布的。

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

推荐PyPI第三方库


热门话题
java检查整数是0还是检查变量是null更好?   java Android Kotlin(初学者)使用File(),并从ACTION\u GET\u内容返回Uri   java JavaFx在“内部场景”和根场景之间切换   spring将XMLBean配置转换为java配置   java JPA HIBERNATE映射列两次(embeddedID和POJO)   c#单态模式模型在什么情况下适用?   java请求。getRemoteUser在特定时间后返回null?   spring boot中PUT api控制器的java my单元测试用例失败   java在字符串中互换地解析和替换值   java Android JNI在应用程序中检测到错误:调用JNI GetMethodID时出现挂起异常   JavaSpringDataMongo:使用非简单键持久化映射   爪哇玻璃鱼连接被拒绝   java如何在用户注册时发送特定电子邮件id的自动回复?   Java列表:实例化时和之后的赋值之间的差异