[
https://issues.apache.org/jira/browse/AIRAVATA-3230?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16957896#comment-16957896
]
Marcus Christie commented on AIRAVATA-3230:
-------------------------------------------
Running npm install or {{npm ci}} in the Docker container is fairly slow so
that is slowly down the Ansible deploy. My tests indicate that the slowness is
coming from the fact that the airavata-django-portal folder is mounted into the
docker container and running npm install on a mounted volume is slow. A faster
approach would be to copy the airavata-django-portal into Docker image during
the docker build step and then build the JS code inside the Docker container.
Then the built code could be copied back out of the docker container and used
for the deploy.
> Ansible: build Django JS code in Docker locally
> -----------------------------------------------
>
> Key: AIRAVATA-3230
> URL: https://issues.apache.org/jira/browse/AIRAVATA-3230
> Project: Airavata
> Issue Type: Bug
> Components: Django Portal
> Reporter: Marcus Christie
> Assignee: Marcus Christie
> Priority: Major
>
> Improve the Ansible Django deploy process by building the JS code once,
> locally, using Docker.
> h5. Goals
> - Decrease the time it takes to deploy multiple Django instances by building
> the JS code only once
> - Switch back to using package-lock.json files by always building JS code in
> the Docker container. This will have the benefit of pinning the JS
> dependencies.
> h5. TODO
> - [ ] Script for running npm install commands in Docker container
> - [ ] Script for running npm run serve/build commands in Docker container
> - [ ] Commit the generated package-lock.json files
> - [ ] use {{npm ci}} instead of {{npm install}} to improve reproducibility
> and speed up dependency install (see also
> [https://stackoverflow.com/a/45566871])
> - [ ] update build_js.sh
> - [ ] update README, docs
--
This message was sent by Atlassian Jira
(v8.3.4#803005)