Add a process for specifying exact requirements for an EB deployment (#1451)

Add a process for keeping specifying exact requirements for an EB deployment
This commit is contained in:
bmccandless
2020-05-05 10:51:02 -07:00
committed by GitHub
parent 61ca75e846
commit 55a7967001
3 changed files with 135 additions and 0 deletions
+24
View File
@@ -135,6 +135,30 @@ ebextensions:
Any additional config files intended for the `.ebextensions` directory of the artifact can be added
to the `customize/ebextensions` directory. Any file found here will be copied over.
requirements.txt:
A custom requirements.txt can be supplied in customize/requirements.txt.
This file must fully specify the versions of all the python modules used by the server in the deployment.
This is useful to ensure that the dependencies do not change from one deployment to the next.
Therefore the custom/requirements.txt must all have exact versions specified (e.g. anndata==0.7.1).
This file can be generated the first time using a process like this:
```
# assume you are running in this directory
$ virtualenv temp
$ source temp/bin/activate
$ pip install -r ../requirements.txt
$ mkdir -p customize
$ pip freeze > customize/requirements.txt
$ deactivate
$ rm -rf temp/
```
Keep the customize/requirememts.txt file, and reuse it for each deployment.
If a future cellxgene version updates its requirements by modifying a module version
or adding a new dependency, then the `make build` process will detect any
incompatibilities and raise an error.
5. Create the artifact.zip file for the application
```