docker compose的编码工作流

dc-workflows的Python项目详细描述


#dc
“dc”命令是[`docker compose`](https://docs.docker.com/compose/)的包装,它将工作流和重复使用的命令编成可记住的、易于键入的单行代码。可以从pypi安装:


````
>pip-install-dc-workflow
````


/>堆栈:
-docker compose stack.yml

测试:
-docker compose.yml
-postgres
-test

任务:
发布:
命令:dc--profile build-e api--tag version--tag docker image--write tag--push build

部署:
命令:dc--profile stack-e api--deploy

dev publish:
命令:dc--profile build-e dev api--tag version--tag docker image--write tag--push build

命令:dc--profile stack-e dev api--deploy


local:
命令:dc--profile local-e local api


local build命令:dc task local build app


测试:
命令:dc--profiletest——项目名api test

test build:
命令:dc task test build
````

它还定义了许多任务注意它们的长度,想象一下在你的整个工作日中都在不断地编写它们。

部署到群:

````
dc task deploy
````


任务本身是可组合的,如上面的“本地”和“本地构建”。请注意,“local build”是作为“local”任务的扩展写入的。



\此位置可以用“DC\u ENVIRONMENT”环境变量重写这些文件是简单的“key=value”对,例如:

```
django_debug=false
docker_image=roberto/api:0.0.1
````




[标记版本](https://github.com/rca/tag-version)以基于git标记生成标记。

`-tag docker image`参数将使用“tag version”命令的结果作为生成的docker映像的标记。

`-write tag`参数将在环境文件中重新写入“docker\u image”变量。

`参数将在生成成功运行时自动运行“docker push”。



\History
docker Compose很棒它允许您将相当复杂的命令组合在一起,从而产生一些真正强大的结果。问题是记住这些命令,因为它们可能变得很长很麻烦。

例如,“docker compose”允许将多个compose文件叠加在一起,其中每个后续的compose文件都会覆盖上一个文件的设置。在命令行中重复编写这个命令很麻烦,而且容易出错:

```
docker compose-f docker-compose.yml-f docker-compose.dev.yml[…]
````


docker compose还允许在`.env`文件中指定环境变量,而不是在合成文件中对它们进行硬编码。这也很容易出错,特别是在使用compose部署堆栈时,这些堆栈可能是使用不同设置作为备份服务(如数据库)的生产环境。


vanilla“docker compose”的另一个问题是在compose.yml文件中替换环境变量时不一致;有时它们会应用,有时它们不会。

`dc'通过预处理合成文件a来消除这些限制用环境中的值呈现出一个yml文件。它还通过将命令与令人难忘的任务混叠,消除了意外错误地编写命令的情况。

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

推荐PyPI第三方库


热门话题
java为引用变量指定默认值   java在2D数组中旋转innersquare   java将hashmap键值与int进行比较   java程序中的并发监视器陷入死锁   安卓 java。lang.NoClassDefFoundError:java。awt。光标   java有没有更好的方法来引用包含对象的对象?   如何在Java编程中循环代码块   java如何在Junit5中使用Serenity?   java使用ANTLR识别JavaScript文件中的全局变量声明   EJB查询对象生成的java视图SQL?   java查找股票报价的范围   java错误:(453,69)不允许使用字符串类型(在值为“”的“活动\u水平\u边距”处)   java安装的环境变量   amazon web服务在使用awssdkjava上载到S3存储桶时发生直接错误   java在Android的ArrayList中添加相等的值   尝试打开MyEclipse Enterprise Workbench时出现ide“无法创建java虚拟机”错误   java如何使用单元格指定的行和列更改jTable的单元格颜色?   java如何等待文件从系统目录复制到具有根访问权限的外部存储