[
https://issues.apache.org/jira/browse/AIRAVATA-3230?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Marcus Christie updated AIRAVATA-3230:
--------------------------------------
Description:
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
- [x] Script for running npm install commands in Docker container
- [x] Script for running npm run serve/build commands in Docker container
- -[ ] Commit the generated package-lock.json files-
-- using yarn.lock instead
- -[ ] use {{npm ci}} instead of {{npm install}} to improve reproducibility
and speed up dependency install (see also
[https://stackoverflow.com/a/45566871])-
-- using yarn instead
- [ ] update build_js.sh
- [ ] update README, docs
- [x] separate Dockerfile-deploy for Ansible deploys that copies the
airavata-django-portal into the image and builds inside the container
- [ ] Bug: ansible deploy builds same airavata-django-portal branch for all
django instances, even if some specify a different branch
- [x] document: decided to go with yarn and yarn.lock files instead of npm
package-lock.json files because of incompatibilities between {{npm ci}} and
local relative packages
- [ ] optimization: remove {{node_modules/}} dir after building?
- [ ] optimization: only copy {{dist}} folders out of container?
- [ ] optimization: for Ansible deployment, only build the first stage of the
docker image?
was:
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
- [x] Script for running npm install commands in Docker container
- [x] Script for running npm run serve/build commands in Docker container
- -[ ] Commit the generated package-lock.json files-
-- using yarn.lock instead
- -[ ] use {{npm ci}} instead of {{npm install}} to improve reproducibility
and speed up dependency install (see also
[https://stackoverflow.com/a/45566871])-
-- using yarn instead
- [ ] update build_js.sh
- [ ] update README, docs
- [x] separate Dockerfile-deploy for Ansible deploys that copies the
airavata-django-portal into the image and builds inside the container
- [ ] Bug: ansible deploy builds same airavata-django-portal branch for all
django instances, even if some specify a different branch
- [x] document: decided to go with yarn and yarn.lock files instead of npm
package-lock.json files because of incompatibilities between {{npm ci}} and
local relative packages
- [ ] optimization: remove {{node_modules/}} dir after building?
- [ ] optimization: only copy {{dist}} folders out of container?
> 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
> - [x] Script for running npm install commands in Docker container
> - [x] Script for running npm run serve/build commands in Docker container
> - -[ ] Commit the generated package-lock.json files-
> -- using yarn.lock instead
> - -[ ] use {{npm ci}} instead of {{npm install}} to improve reproducibility
> and speed up dependency install (see also
> [https://stackoverflow.com/a/45566871])-
> -- using yarn instead
> - [ ] update build_js.sh
> - [ ] update README, docs
> - [x] separate Dockerfile-deploy for Ansible deploys that copies the
> airavata-django-portal into the image and builds inside the container
> - [ ] Bug: ansible deploy builds same airavata-django-portal branch for all
> django instances, even if some specify a different branch
> - [x] document: decided to go with yarn and yarn.lock files instead of npm
> package-lock.json files because of incompatibilities between {{npm ci}} and
> local relative packages
> - [ ] optimization: remove {{node_modules/}} dir after building?
> - [ ] optimization: only copy {{dist}} folders out of container?
> - [ ] optimization: for Ansible deployment, only build the first stage of
> the docker image?
--
This message was sent by Atlassian Jira
(v8.3.4#803005)