-
Improvement
-
Resolution: Fixed
-
Major
-
Powered by SuggestiMate
It would be useful to include support for Git in the standard jenkins distribution.
As a new Jenkins user, I will like to choose a feature area that I am interested in and Jenkins installs the related plugins for me.
As an existing Jenkins user who is upgrading, I will like to choose the feature areas that I am interested in and Jenkins installs the related plugins for me.
- is related to
-
JENKINS-20617 Remove old versions of optional plugins from Jenkins core: CVS, LDAP, possibly others
-
- Closed
-
[JENKINS-9598] Overhaul bundled plugins or setup experience
The interest is just to not have to install it by default ?
Is it really relevant ?
Are you really using Jenkins out of the box without any additional plugin ?
I would prefer that we study the ability to prepare some sets of plugins (by technology, by compatibility with the core ...) that users could install to have a ready to go environment for a given profile of usage.
WDYT ?
The idea is to get users up and running as quickly as possible. (The other idea is so that readers of the 'First Steps' chapter in 'Jenkins: The Definitive Guide' can get a few builds running with a minimum of configuration ).
Seriously, though, I'd even be prone to bundle recent versions of Maven (e.g. 2.2.1 and 3.0.x) and Ant for the same reasons. Beyond that, the idea of themed plugin sets does sound quite cool.
@aheretier
Is its relevant to have SVN/CVS plugin in distribution? Today, i think git is relevant.
Bundling plugins will always result in increasing the size of the distribution to make life easier for some people (eliminating the need to manually install a plugin they want) while adding bloat for others (adding the need to either ignore or manually disable a plugin they don't want). I'd rather have the official Jenkins distribution come with as few plugins as possible (possibly eventually even not bundling the SVN/CVS/Maven plugins).
For most users, I think they'll be better served by learning how to use the Plugin Manager to install plugins, as they'll likely also want to use it to install other plugins and update plugins.
For some users, it might be useful to have a concept of a plugin profile, which allows specifying a set of plugins to install if not already present (either the "latest available" version or a specified version). This might serve as a lighter-weight alternative to some use cases for bundling plugins into a custom jenkins.war. This could allow creation of standard plugin profiles for common configurations.
https://wiki.jenkins-ci.org/display/JENKINS/Bundling+plugins+with+Jenkins
-1
I'd strongly prefer to have Jenkins as lightweight as possible out of the box.
Even removing SVN/CVS would be preferable for me - I use both Git and SVN (and Mercurial) but not both on all of my Jenkins installs. Maven and Ant? None of my Jenkins installs uses either tool and I'd prefer they weren't installed by default.
I agree that better management of 'bundles' of plugins would be useful but, as davidmc24 pointed out, there is a solution for this...
Reading through all of the preceding comments the positions taken appear to view this as an either/or scenario.
EITHER
A heavier download with more plugins included to get going faster (valid if that is where your knowledge levels are)
OR
A lightweight download that is quicker to download so plugins can be mixed and matched and kept "tight" for your specific needs.
I suggest this does not have to be an either/or situation?
Here is another idea:
We already have platform specific distributions (Windows, Ubuntu/Debian, RedHat etc). Why not have a number of other distributions that include different sets of plugins.
These new distros should be IN ADDITION to the current available distros. The current distros should be as light as possible thus serving the demographic that don't want bloated Jenkins.
I see a download page that asks the user a series of questions (answers provided via dropdown lists) about how they want to use Jenkins.
Eg: What Source Control System do you wish Jenkins to use?, Do you have testing code? If so, what kind is it? What analysis do you wish Jenkins to perform on your code?, How do you wish to notify people of results?
The combination of answers would drive which sets of plugins get included in the distribution.
This would provide a starting point for the newbie user and should still be able to visit the update center to further customise/change their Jenkins as their knowledge increases.
I think this would be a major improvement and give people another way to access Jenkins.
What do people think of this proposal?
Cheers,
Andrew
With regard to apgray's proposal, I'm still not seeing the need for a different mechanism for installing plugins (even just initially) than the one we already have: the Plugin Manager.
If it's too hard to figure out that you should use the Plugin Manager to install plugins, we should improve the navigation or provide hints to the user to ease that learning curve.
If it's too hard to find the plugins you want to install in the Plugin Manager we should address that, possibly by changing the categorization, introducing a rating or popularity system, or even adding an initial wizard to guide them through selection of the most common plugins.
What we shouldn't do is introduce a redundant way to install plugins which has the side-effect of eliminating/reducing the need for users to know about the Plugin Manager. If a newbie user does their initial install via the proposed questionare-based custom bundle builder, they may well think that that's just the way that plugins are managed in Jenkins. When they next need a plugin, they may go back to that wizard, and try to answer the questions in a way to get it (and likely fail, since the questionare would be way too complicated if it covered all possible plugins), thinking that the plugins available through the bundle builder are all there are.
The vibrant plugin community is one of the things that makes Jenkins great. Let's not shoot ourselves in the feet by hiding it from the users.
I agree with David. Improve the UI, as opposed to bundling unnecessary functionality into core.
+1 with davidmc24. Make the original bundle as lightweight as possible and change the UI to possibly display the plugins by popularity rating (on top of the current categorization).
It's interesting to note that this was somewhat discussed during the project meeting at the San Francisco JUC last Sunday. It seems that there is a need for something like this now, given the number of plugins out there.
Generalizing the summary to reflect what seems to be the prevailing opinion. Also Kohsuke expressed interest in having some kind of setup wizard that would guide users to install popular plugins relevant to their workflow, perhaps based on “themes” of some kind.
I suppose that several "bundle plugins" would be enough (with a separate page on the update center?).
Any plugin could just reference other plugins, but it also could provide setup dialogs or initialize the configuration.
Having gone down the road of “bundle plugins” in another context (NetBeans), I can say that they cause more trouble and confusion than they solve.
As I mentioned on the mailing list, the first run experience is kind of weird. A guided tour through the basic concepts, the most important settings of Configure System, and a subset of Manage Plugins (as to not overwhelm the newcomer) might be helpful.
IMO the only bundled plugins should be whatever used to be in core, plus their new dependencies, for compatibility reasons. And those might not even need installing by default, but only if an older version that might otherwise break (e.g. <1.466 for LDAP plugin) is detected.
Code changed in jenkins
User: kzantow
Path:
core/src/main/java/hudson/model/UpdateCenter.java
core/src/main/java/jenkins/I18n.java
core/src/main/java/jenkins/model/Jenkins.java
core/src/main/resources/jenkins/install/pluginSetupWizard.properties
core/src/main/resources/jenkins/install/pluginSetupWizard_de.properties
core/src/main/resources/jenkins/install/pluginSetupWizard_es.properties
core/src/main/resources/lib/layout/layout.jelly
war/gulpfile.js
war/package.json
war/pom.xml
war/src/main/js/pluginManager.js
war/src/main/js/pluginSetupWizard.js
war/src/main/js/pluginSetupWizardGui.js
war/src/main/js/recommendedPlugins.js
war/src/main/js/templates/errorPanel.hbs
war/src/main/js/templates/offlinePanel.hbs
war/src/main/js/templates/pluginSelectionPanel.hbs
war/src/main/js/templates/pluginSetupWizard.hbs
war/src/main/js/templates/progressPanel.hbs
war/src/main/js/templates/successPanel.hbs
war/src/main/js/templates/welcomePanel.hbs
war/src/main/js/templates/wizard.hbs
war/src/main/js/util/ajax.js
war/src/main/js/util/browser.js
war/src/main/js/util/jenkins.js
war/src/main/js/util/system.js
war/src/main/js/wizard.js
war/src/main/less/pluginSetupWizard.less
war/src/main/less/wizard.less
war/src/main/webapp/WEB-INF/web.xml
war/src/test/js/pluginManager-spec.js
war/src/test/js/pluginSetupWizard-spec.js
war/src/test/js/util.js
war/src/test/js/wizard-spec.js
http://jenkins-ci.org/commit/jenkins/0b0c7f7bd9b52e16fbf4d372e366b9844c8f2f41
Log:
JENKINS-9598 - Initial installation wizard & curated list of plugins
Code changed in jenkins
User: tfennelly
Path:
core/src/main/java/hudson/ClassicPluginStrategy.java
core/src/main/java/hudson/LocalPluginManager.java
core/src/main/java/hudson/PluginManager.java
core/src/main/java/hudson/PluginWrapper.java
core/src/main/java/hudson/init/InitStrategy.java
core/src/main/java/hudson/model/UpdateCenter.java
core/src/main/java/hudson/model/UpdateSite.java
core/src/main/java/hudson/util/HttpResponses.java
core/src/main/java/jenkins/I18n.java
core/src/main/java/jenkins/diagnostics/PinningIsBlockingBundledPluginMonitor.java
core/src/main/java/jenkins/install/InstallState.java
core/src/main/java/jenkins/install/InstallUtil.java
core/src/main/java/jenkins/model/AssetManager.java
core/src/main/java/jenkins/model/Jenkins.java
core/src/main/java/jenkins/util/ResourceBundleUtil.java
core/src/main/java/jenkins/util/xml/XMLUtils.java
core/src/main/resources/jenkins/diagnostics/PinningIsBlockingBundledPluginMonitor/message.jelly
core/src/main/resources/jenkins/diagnostics/PinningIsBlockingBundledPluginMonitor/message.properties
core/src/main/resources/jenkins/diagnostics/PinningIsBlockingBundledPluginMonitor/message_ja.properties
core/src/main/resources/jenkins/diagnostics/PinningIsBlockingBundledPluginMonitor/message_pt_BR.properties
core/src/main/resources/jenkins/install/pluginSetupWizard.properties
core/src/main/resources/jenkins/install/pluginSetupWizard_de.properties
core/src/main/resources/jenkins/install/pluginSetupWizard_es.properties
core/src/main/resources/lib/layout/layout.jelly
core/src/test/java/hudson/ClassicPluginStrategyTest.java
core/src/test/java/hudson/util/JSONObjectResponseTest.java
core/src/test/java/jenkins/util/ResourceBundleUtilTest.java
core/src/test/java/jenkins/xml/XMLUtilsTest.java
core/src/test/resources/jenkins/xml/config.xml
test/pom.xml
test/src/test/java/hudson/ClassicPluginStrategyTest.java
test/src/test/java/hudson/PluginManagerInstalledGUITest.java
test/src/test/java/hudson/PluginManagerTest.java
test/src/test/java/hudson/PluginManagerTest2.java
test/src/test/java/hudson/model/UpdateCenterConnectionStatusTest.java
test/src/test/java/hudson/model/UpdateCenterPluginInstallTest.java
test/src/test/java/jenkins/I18nTest.java
test/src/test/java/jenkins/install/InstallUtilTest.java
war/.gitignore
war/Gruntfile.js
war/gulpfile.js
war/package.json
war/pom.xml
war/src/main/js/api/pluginManager.js
war/src/main/js/api/plugins.js
war/src/main/js/pluginSetupWizard.js
war/src/main/js/pluginSetupWizardGui.js
war/src/main/js/templates/errorPanel.hbs
war/src/main/js/templates/incompleteInstallationPanel.hbs
war/src/main/js/templates/loadingPanel.hbs
war/src/main/js/templates/offlinePanel.hbs
war/src/main/js/templates/pluginSelectionPanel.hbs
war/src/main/js/templates/pluginSetupWizard.hbs
war/src/main/js/templates/progressPanel.hbs
war/src/main/js/templates/successPanel.hbs
war/src/main/js/templates/welcomePanel.hbs
war/src/main/js/util/jenkins.js
war/src/main/less/pluginSetupWizard.less
war/src/main/webapp/WEB-INF/web.xml
war/src/main/webapp/css/icons/icomoon.css
war/src/main/webapp/css/icons/icomoon/icomoon.eot
war/src/main/webapp/css/icons/icomoon/icomoon.svg
war/src/main/webapp/css/icons/icomoon/icomoon.ttf
war/src/main/webapp/css/icons/icomoon/icomoon.woff
war/src/test/js/pluginSetupWizard-spec.js
http://jenkins-ci.org/commit/jenkins/036a8e94ed37cf851f0cafb9cb12c21e3496ed7c
Log:
[FIX JENKINS-9598] Add plugin selection wizard on first launch
Also ... unbundling of plugins from Jenkins core.
Code changed in jenkins
User: Daniel Beck
Path:
core/src/main/java/hudson/ClassicPluginStrategy.java
core/src/main/java/hudson/LocalPluginManager.java
core/src/main/java/hudson/PluginManager.java
core/src/main/java/hudson/PluginWrapper.java
core/src/main/java/hudson/init/InitStrategy.java
core/src/main/java/hudson/model/UpdateCenter.java
core/src/main/java/hudson/model/UpdateSite.java
core/src/main/java/hudson/util/HttpResponses.java
core/src/main/java/jenkins/I18n.java
core/src/main/java/jenkins/diagnostics/PinningIsBlockingBundledPluginMonitor.java
core/src/main/java/jenkins/install/InstallState.java
core/src/main/java/jenkins/install/InstallUtil.java
core/src/main/java/jenkins/model/AssetManager.java
core/src/main/java/jenkins/model/Jenkins.java
core/src/main/java/jenkins/util/ResourceBundleUtil.java
core/src/main/java/jenkins/util/xml/XMLUtils.java
core/src/main/resources/jenkins/diagnostics/PinningIsBlockingBundledPluginMonitor/message.jelly
core/src/main/resources/jenkins/diagnostics/PinningIsBlockingBundledPluginMonitor/message.properties
core/src/main/resources/jenkins/diagnostics/PinningIsBlockingBundledPluginMonitor/message_ja.properties
core/src/main/resources/jenkins/diagnostics/PinningIsBlockingBundledPluginMonitor/message_pt_BR.properties
core/src/main/resources/jenkins/install/pluginSetupWizard.properties
core/src/main/resources/jenkins/install/pluginSetupWizard_de.properties
core/src/main/resources/jenkins/install/pluginSetupWizard_es.properties
core/src/main/resources/lib/layout/layout.jelly
core/src/test/java/hudson/ClassicPluginStrategyTest.java
core/src/test/java/hudson/util/JSONObjectResponseTest.java
core/src/test/java/jenkins/util/ResourceBundleUtilTest.java
core/src/test/java/jenkins/xml/XMLUtilsTest.java
core/src/test/resources/jenkins/xml/config.xml
plugins/pom.xml
test/pom.xml
test/src/test/java/hudson/ClassicPluginStrategyTest.java
test/src/test/java/hudson/PluginManagerInstalledGUITest.java
test/src/test/java/hudson/PluginManagerTest.java
test/src/test/java/hudson/PluginManagerTest2.java
test/src/test/java/hudson/model/UpdateCenterConnectionStatusTest.java
test/src/test/java/hudson/model/UpdateCenterPluginInstallTest.java
test/src/test/java/jenkins/I18nTest.java
test/src/test/java/jenkins/install/InstallUtilTest.java
war/.gitignore
war/Gruntfile.js
war/gulpfile.js
war/package.json
war/pom.xml
war/src/main/js/api/pluginManager.js
war/src/main/js/api/plugins.js
war/src/main/js/pluginSetupWizard.js
war/src/main/js/pluginSetupWizardGui.js
war/src/main/js/templates/errorPanel.hbs
war/src/main/js/templates/incompleteInstallationPanel.hbs
war/src/main/js/templates/loadingPanel.hbs
war/src/main/js/templates/offlinePanel.hbs
war/src/main/js/templates/pluginSelectionPanel.hbs
war/src/main/js/templates/pluginSetupWizard.hbs
war/src/main/js/templates/progressPanel.hbs
war/src/main/js/templates/successPanel.hbs
war/src/main/js/templates/welcomePanel.hbs
war/src/main/js/util/jenkins.js
war/src/main/less/pluginSetupWizard.less
war/src/main/webapp/WEB-INF/web.xml
war/src/main/webapp/css/icons/icomoon.css
war/src/main/webapp/css/icons/icomoon/icomoon.eot
war/src/main/webapp/css/icons/icomoon/icomoon.svg
war/src/main/webapp/css/icons/icomoon/icomoon.ttf
war/src/main/webapp/css/icons/icomoon/icomoon.woff
war/src/test/js/pluginSetupWizard-spec.js
http://jenkins-ci.org/commit/jenkins/0d4d93d4502b63494ca8565b7bcad21abbf79519
Log:
Merge pull request #1995 from tfennelly/2.0-with-plugin-wizard
[FIX JENKINS-9598] 2.0 with plugin wizard
Compare: https://github.com/jenkinsci/jenkins/compare/e0919f1a46ea...0d4d93d4502b
+1