Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Faster turn-around times for devs using containers #9590

Closed
poikilotherm opened this issue May 12, 2023 · 3 comments · Fixed by #9959
Closed

Faster turn-around times for devs using containers #9590

poikilotherm opened this issue May 12, 2023 · 3 comments · Fixed by #9959
Labels
Component: Containers Anything related to cloudy Dataverse, shipped in containers. Feature: Container Guide Size: 10 A percentage of a sprint. 7 hours.
Milestone

Comments

@poikilotherm
Copy link
Contributor

Part of the containerization strategy, milestone D.

With #9584 we will recommend stopping, repackaging and start all containers again after code changes. This takes, depending on your local hardware, 60-120 seconds. Investigate in making this faster is the task of this issue.

@poikilotherm poikilotherm added Component: Containers Anything related to cloudy Dataverse, shipped in containers. Feature: Container Guide labels May 12, 2023
@pdurbin
Copy link
Member

pdurbin commented Aug 17, 2023

We talked about this about 45 minutes into today's container meeting: https://ct.gdcc.io

@pdurbin
Copy link
Member

pdurbin commented Sep 25, 2023

I'm just noting that today (and last Friday), I've been hacking around in xhtml and the feedback loop is unbearable with containers. I'm going to install Payara 6 directly on my Mac so I can hack on xhtml and have it deployed by Netbeans basically instantaneously.

(Later...)

@poikilotherm and I played around with this. We observe that Netbeans copies the src xhtml into the exploded war:

beamish:target pdurbin$ ls -l dataverse-6.0/dataset.xhtml ../src/main/webapp/dataset.xhtml 
-rw-r--r--  1 pdurbin  staff  182693 Sep 25 16:38 ../src/main/webapp/dataset.xhtml
-rw-r--r--  1 pdurbin  staff  182693 Sep 25 16:38 dataverse-6.0/dataset.xhtml

We tried this:

diff --git a/docker-compose-dev.yml b/docker-compose-dev.yml
index ab44dbc180..c1ce04be1b 100644
--- a/docker-compose-dev.yml
+++ b/docker-compose-dev.yml
@@ -14,6 +14,7 @@ services:
       - DATAVERSE_DB_USER=${DATAVERSE_DB_USER}
       - ENABLE_JDWP=1
       - DATAVERSE_FEATURE_API_BEARER_AUTH=1
+      - ENABLE_RELOAD=1
     ports:
       - "8080:8080" # HTTP (Dataverse Application)
       - "4848:4848" # HTTP (Payara Admin Console)
@@ -27,6 +28,7 @@ services:
     volumes:
       - ./docker-dev-volumes/app/data:/dv
       - ./docker-dev-volumes/app/secrets:/secrets
+      - ./target/dataverse-6.0:/opt/payara/deployments/dataverse
     tmpfs:
       - /dumps:mode=770,size=2052M,uid=1000,gid=1000
       - /tmp:mode=770,size=2052M,uid=1000,gid=1000

Still not quite working. Stay tuned! 😅

poikilotherm added a commit that referenced this issue Sep 26, 2023
By mounting the directory that contains the web application as an
exploded WAR, we can enable hot redeploys of code and XHTML.

To enable version-agnostic mounts, the output directory is configured
to not contain the version number anymore, but the WAR file is still
containing it.
poikilotherm added a commit that referenced this issue Sep 26, 2023
By mounting the directory that contains the web application as an
exploded WAR, we can enable hot redeploys of code and XHTML.

To enable version-agnostic mounts, the output directory is configured
to not contain the version number anymore, but the WAR file is still
containing it.
pdurbin added a commit that referenced this issue Sep 26, 2023
pdurbin added a commit that referenced this issue Oct 4, 2023
pdurbin added a commit to pdurbin/dataverse that referenced this issue Nov 6, 2023
pdurbin added a commit to pdurbin/dataverse that referenced this issue Nov 6, 2023
pdurbin added a commit to pdurbin/dataverse that referenced this issue Nov 6, 2023
pdurbin added a commit that referenced this issue Nov 6, 2023
pdurbin added a commit that referenced this issue Nov 6, 2023
pdurbin added a commit that referenced this issue Nov 6, 2023
poikilotherm added a commit that referenced this issue Nov 8, 2023
- Use caddy as a faster and smaller alternative to NGINX.
- Remove unnecessary pom.xml entry for container.
- Migrate config to Caddyfile in /conf instead of /modules (we do not create a new image here...)
- Add dependency on Dataverse container to proxy container
- Slight renaming of containers
poikilotherm added a commit that referenced this issue Nov 8, 2023
It might be good to keep it available on localhost in addition to the HTTP variant on port 4848 via proxy.
poikilotherm added a commit that referenced this issue Nov 8, 2023
With using the env var "SKIP_DEPLOY" or the Maven property "-Dapp.deploy.skip"
we can make the application server not deploy Dataverse on container start.
This is necessary to save on time and manual undeploy when using Payara IDE tools
to hot deploy changes.
pdurbin added a commit that referenced this issue Feb 13, 2024
sphinx-tabs upgraded to be compatible with v7.

DATAVERSE_JSF_REFRESH_PERIOD restored (not sure why it
was removed).

Conflicts:
doc/sphinx-guides/requirements.txt
doc/sphinx-guides/source/conf.py
docker-compose-dev.yml
pdurbin added a commit that referenced this issue Feb 14, 2024
pdurbin added a commit that referenced this issue Feb 14, 2024
pdurbin added a commit that referenced this issue Feb 14, 2024
pdurbin added a commit that referenced this issue Feb 23, 2024
pdurbin added a commit that referenced this issue Feb 23, 2024
pdurbin added a commit that referenced this issue Feb 23, 2024
@pdurbin pdurbin added this to the 6.2 milestone Feb 23, 2024
@cmbz cmbz added the Size: 10 A percentage of a sprint. 7 hours. label Mar 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Component: Containers Anything related to cloudy Dataverse, shipped in containers. Feature: Container Guide Size: 10 A percentage of a sprint. 7 hours.
Projects
Status: Done 🧹
Development

Successfully merging a pull request may close this issue.

3 participants