[NPMCLI-234] Allow remotely built webapps into the CLI (webapp-wizard) Created: 30/Jan/20  Updated: 15/Mar/21  Resolved: 15/Mar/21

Status: Closed
Project: Magnolia CLI
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Improvement Priority: Neutral
Reporter: Maxime Michel Assignee: Unassigned
Resolution: Outdated Votes: 2
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Template:
Acceptance criteria:
Empty
Task DoD:
[ ]* Doc/release notes changes? Comment present?
[ ]* Downstream builds green?
[ ]* Solution information and context easily available?
[ ]* Tests
[ ]* FixVersion filled and not yet released
[ ]  Architecture Decision Record (ADR)
Documentation update required:
Yes
Date of First Response:

 Description   

As presented at the 1st Open Mic session. Potentially helps with the following scenarios:

  • light dev wants a custom webapp without getting involved with Maven
  • marketplace should generate instances on the fly so people can test modules
  • cloud instances should start Magnolia much faster by having the installation pre-done for them
  • etc.

Flow

User initiates the new command, for instance:

$ mgnl jumpstart -s 6.2 --build // 6.2-SNAPSHOT

$ mgnl jumpstart --build // latest stable, 6.1.4 at time of writing

$ mgnl jumpstart -m 6.1.3 -d info.magnolia.abtesting:magnolia-abtesting:1.0-SNAPSHOT,info.magnolia.abtesting:magnolia-abtesting:1.0-SNAPSHOT // 6.1.3, --build is assumed

But what is the difference between jumpstart & jumpstart --build when no dependencies are specified?

  • this option will require LDAP credentials to connect to Jenkins, so not available to all
  • but, it will preinstall the webapp on Jenkins by default, which means it'll start much faster, especially if on a slow machine

Rely on the available webapps listed in the CLI

? What Magnolia would you like to install?
1) magnolia-empty-webapp
2) magnolia-community-webapp
3) magnolia-community-demo-webapp
4) magnolia-dx-core-webapp
5) magnolia-dx-core-demo-webapp
Answer:

Then the script runs its course (triggers job, waits for end of build, download the artifact once ready)

Then jumpstart will resume its normal course (fetch/install Tomcat, light dev. tweaks, etc.)

Then the user can run it with:

$ mgnl start 

A note on downloadJars

This new feature is competing with the downloadJars custom option. We will keep that one for now but the documentation will be updated to reflect that if you have LDAP credentials, then you should get your webapp built.



 Comments   
Comment by Federico Grilli [ 10/Apr/20 ]
$ mgnl jumpstart -m 6.1.3 -d info.magnolia.abtesting:magnolia-abtesting:1.0-SNAPSHOT,info.magnolia.abtesting:magnolia-abtesting:1.0-SNAPSHOT // 6.1.3, --build is assumed

I was thinking that, behind the scenes, we could use Nexus rest api search with wildcards and some sensible defaults in order to make this kind of request less verbose, e.g. it should be possible to infer group id for magnolia artifacts without the need for specifying it.

$ mgnl jumpstart -m 6.1.3 -d magnolia-abtesting:1.0-SNAPSHOT, magnolia-foobar:1.2-SNAPSHOT

Also for artifacts, it should be possible to enter only partial names. As to version, no version could just mean LATEST artifacts. E.g.

$ mgnl jumpstart -m 6.1.3 -d *abtesting, *foobar
Comment by Maxime Michel [ 14/Apr/20 ]

I think this should be detached into a separate ticket if we want to do it. The webapp wizard would on its own already be a major enough change.

Comment by Maxime Michel [ 15/Mar/21 ]

Great ticket but the webapp-wizard was never implemented in JS due to the lack of a good Jenkins client.

Generated at Mon Feb 12 04:47:49 CET 2024 using Jira 9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b.