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文件。它还通过将命令与令人难忘的任务混叠,消除了意外错误地编写命令的情况。
“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
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文件。它还通过将命令与令人难忘的任务混叠,消除了意外错误地编写命令的情况。