Skip to content

Latest commit

 

History

History
64 lines (42 loc) · 2.64 KB

README.md

File metadata and controls

64 lines (42 loc) · 2.64 KB

This project builds the Docker image.

Related Links

Preflight

You will need Docker installed on your workstation; make sure it is a recent version as they are always breaking backwards compatibility.

Check out a copy of the project with:

git clone https://github.com/KxSystems/embedPy.git

Deploy

Docker Cloud is configured to monitor when tags of the format /^[0-9.]+/ are added to the GitHub hosted project, a corresponding Docker image file is generated and made available.

This is all done server side as the resulting image is north of 350MB and uploading that sort of thing is likely to prompt the network team to Release the Kraken!

To do a deploy, you simply tag and push your releases as usual:

git push
git tag 0.7
git push --tag

First Time Configuration

  1. Log into Docker Cloud
  2. Create the new repository called embedpy
  3. Go to the 'Builds' tab
  4. Set the 'Source Repository' to the GitHub account 'KxSystems' and project embedPy
  5. Set the 'Build Rules' to:
    • Source Type: Tag
    • Source: /^[0-9.]+/
    • Docker Tag: {sourceref}
    • Dockerfile location: docker/Dockerfile
    • Build Context: /
    • Autobuild: enabled
    • Build Caching: disabled (Docker Cloud is really buggy, nocache=1 as a build env may help)
  6. Click on the 'Save' button

If you prefer to not have Docker Cloud build on every tag push, you can alternatively:

  1. Under 'Build Rules' disable 'Autobuild'
  2. Click on 'Save'
  3. At the bottom of the configuration page under 'Build triggers', create a URL that you can use to fire off a build

You should now be able to call curl on the supplied URL to trigger the build, sparing you from having to log in to click a button.

Build

To build locally the project you run:

docker build -t embedpy -f docker/Dockerfile .

Other build arguments are supported and you should browse the Dockerfile to see what they are, but note for Docker Cloud you will need to make sure they are also explicitly exported in docker/hooks/build too.

Once built, you should have a local embedpy image you can run the following to use it:

docker run -it -v `pwd`/q:/tmp/q embedpy