Changes between Initial Version and Version 1 of nightlydocker


Ignore:
Timestamp:
Jan 10, 2017, 6:54:06 PM (9 years ago)
Author:
Greg Couch
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • nightlydocker

    v1 v1  
     1= Nightly Linux builds using Docker =
     2
     3We create a base docker image that has the necessary tools to build ChimeraX.  This image is called **rbvi/chimerax-devel:1.0** and it is based on the **debian:8** image with a lot of development packages.  The plan is to create a **rbvi/chimerax-devel:2.0** that is based on the official Python manylinux1 docker image, **quay.io/pypa/manylinux1_x86_64** with a newer C++ compiler (the manylinx1 image has gcc 4.8.2 and ChimeraX needs 4.9 or newer).  The plan is to publish the docker image build script as well as the resulting docker image.
     4
     5The Linux build script:
     6
     71. Makes the **rbvi/chimerax-devel:1.0** docker image if it isn't already present.
     81. Creates a temporary directory that contains:
     9  * the chimerax source for the given revision
     10  * the PyQt5 commercial wheel
     11  (including the wheel means that the docker image does not need ssh access to plato)
     121. Creates a docker image with the temporary directory as **/home/chimerax** and a **make install > build.out** command (the contents of the temporary directory are copied into the docker image, but could be mounted at runtime if the **-v** option work, but it doesn't)
     131. That docker image can be run interactively with the **make install** done by hand for testing, but the script runs it, creating a docker container, and waits for it to complete
     141. The build.out file is copied back from the docker container
     151. If the build was successful, the application tree is copied back from the docker container and is placed in the chimerax download directory
     161. At exit, the docker container and image are removed, as well as the temporary directory
     17
     18If the docker daemon is not running, the script also starts the docker daemon with **audit docker start** and stops it with **audit docker stop**