mirror of
https://github.com/chanzuckerberg/cellxgene.git
synced 2026-09-16 05:07:55 +08:00
59 lines
2.0 KiB
Makefile
59 lines
2.0 KiB
Makefile
include ../../common.mk
|
|
|
|
.PHONY: clean
|
|
clean:
|
|
rm -f artifact.zip
|
|
rm -rf artifact.dir
|
|
|
|
|
|
# Build the ElasticBeanstalk configuration and deployment bundle,
|
|
# such that deployment can be done with a simple `eb deploy`.
|
|
# Presumes that a top-level `make build-client` has been done to
|
|
# create the client static assets.
|
|
|
|
cwd := $(shell pwd)
|
|
|
|
.PHONY: build
|
|
build: clean
|
|
mkdir artifact.dir; \
|
|
(cd ../.. ; \
|
|
git ls-files server/ | cpio -pdm $(cwd)/artifact.dir ; ); \
|
|
$(call copy_client_assets,../../client/build,artifact.dir/server) ; \
|
|
set -e ; \
|
|
cp app.py artifact.dir/application.py; \
|
|
cp ../requirements.txt artifact.dir; \
|
|
cp -r .ebextensions artifact.dir; \
|
|
if [ -d customize ] ; then \
|
|
if [ -f customize/config.yaml ] ; then \
|
|
cp customize/config.yaml artifact.dir; \
|
|
fi ; \
|
|
if [ -f customize/Dockerfile ] ; then \
|
|
cp customize/Dockerfile artifact.dir; \
|
|
fi ; \
|
|
if [ -f customize/requirements.txt ] ; then \
|
|
pip install requirements-parser ; \
|
|
pip install packaging ; \
|
|
python3 check_requirements.py ../requirements.txt customize/requirements.txt; \
|
|
cp customize/requirements.txt artifact.dir; \
|
|
fi ; \
|
|
if [ -d customize/deploy ] ; then \
|
|
mkdir -p artifact.dir/server/common/web/static/cellxgene; \
|
|
cp -r customize/deploy artifact.dir/server/common/web/static/cellxgene; \
|
|
fi; \
|
|
if [ -d customize/inline_scripts ] ; then \
|
|
cp -r customize/inline_scripts/* artifact.dir/server/common/web/templates; \
|
|
fi; \
|
|
if [ -d customize/ebextensions ] ; then \
|
|
cp -r customize/ebextensions/* artifact.dir/.ebextensions; \
|
|
fi; \
|
|
fi; \
|
|
if [ -d customize/plugins ] ; then \
|
|
cp -r customize/plugins artifact.dir/server/; \
|
|
fi; \
|
|
(cd artifact.dir; \
|
|
cp -r server/common/web/static static; \
|
|
zip -r ../artifact.zip . --exclude server/test/\* server/eb/\* ; ); \
|
|
if ! grep artifact.zip .elasticbeanstalk/config.yml ; then \
|
|
mkdir -p .elasticbeanstalk ; cat config_deploy.yaml >> .elasticbeanstalk/config.yml ; fi
|
|
|