A Docker build system for managing docker.
Project description
Docker Build System
A simple library for handling docker commands with python.
Install Or Upgrade
- pip install --upgrade DockerBuildSystem
Example
- Include DockerBuildSystem tools:
from DockerBuildSystem import DockerComposeTools, DockerImageTools, DockerSwarmTools, TerminalTools, VersionTools
- Merge, build and run docker-compose.*.yml files:
composeFiles = [
'docker-compose.yml',
'docker-compose.build.yml',
'docker-compose.override.yml'
]
mergedComposeFile = "docker-compose.generated.dev.yml"
DockerComposeTools.MergeComposeFiles(composeFiles, mergedComposeFile)
DockerComposeTools.DockerComposeBuild([mergedComposeFile])
DockerComposeTools.DockerComposeUp([mergedComposeFile])
- Push and pull images in docker-compose.*.yml files, including additional
latest
tag:
composeFiles = [
'docker-compose.yml'
]
DockerComposeTools.DockerComposePush(composeFiles)
DockerComposeTools.PublishDockerImagesWithNewTag(composeFiles, 'latest')
DockerComposeTools.DockerComposePull(composeFiles)
- Execute test projects in Docker containers and raise exception if container exits with error code due to failing tests:
composeFiles = [
'docker-compose.tests.yml'
]
testContainerNames = [
'lab-services-tests'
]
DockerComposeTools.ExecuteComposeTests(composeFiles, testContainerNames)
- Load set of specific environment variables from a
*.env
file:
TerminalTools.LoadEnvironmentVariables('path_to/variables.env')
- Export top-most version from CHANGELOG.md file (see the example folder) as an environment variable:
VersionTools.ExportVersionFromChangelogToEnvironment("path_to/CHANGELOG.md", "version")
- Optionally export versionmajor and versionminor based on the top-most version from CHANGELOG.md file as an environment variable:
VersionTools.ExportVersionFromChangelogToEnvironment("path_to/CHANGELOG.md", "version", "versionmajor", "versionminor")
Please have a look at an example of use here:
Prerequisites
- Docker:
- Install Dependencies:
- pip install -r requirements.txt
Additional Info
- The pip package may be located at:
Publish New Version.
- Configure setup.py with new version.
- Build: python setup.py bdist_wheel
- Publish: twine upload dist/*
Run Unit Tests
- python -m unittest
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
No source distribution files available for this release.See tutorial on generating distribution archives.
Built Distribution
Close
Hashes for DockerBuildSystem-1.1.40-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b1a6ad0dcb6579731bde0a9b9574df48c75106119e87bfbe82fd482fd57c89ec |
|
MD5 | 2d8c6909488d7253d04b7c226a253d6c |
|
BLAKE2b-256 | 3c7f03e01749b19319d995c689788ca63a7fd52a1bb730cb4f7576f56fbfa10a |