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
latesttag:
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
*.envfile:
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file DockerBuildSystem-1.1.40-py2.py3-none-any.whl.
File metadata
- Download URL: DockerBuildSystem-1.1.40-py2.py3-none-any.whl
- Upload date:
- Size: 9.5 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.38.0 CPython/3.8.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b1a6ad0dcb6579731bde0a9b9574df48c75106119e87bfbe82fd482fd57c89ec
|
|
| MD5 |
2d8c6909488d7253d04b7c226a253d6c
|
|
| BLAKE2b-256 |
3c7f03e01749b19319d995c689788ca63a7fd52a1bb730cb4f7576f56fbfa10a
|