@ExportedBean public class UpdateCenter extends AbstractModelObject implements Saveable, OnMaster
The main job of this class is to keep track of the latest update center metadata file, and perform installations.
Much of the UI about choosing plugins to install is done in PluginManager
.
The update center can be configured to contact alternate servers for updates
and plugins, and to use alternate strategies for downloading, installing
and updating components. See the Javadocs for UpdateCenter.UpdateCenterConfiguration
for more information.
Modifier and Type | Class and Description |
---|---|
class |
UpdateCenter.ConnectionCheckJob
Tests the internet connectivity.
|
static class |
UpdateCenter.CoreUpdateMonitor
AdministrativeMonitor that checks if there's Jenkins update. |
class |
UpdateCenter.DownloadJob
Base class for a job that downloads a file from the Jenkins project.
|
class |
UpdateCenter.HudsonDowngradeJob |
class |
UpdateCenter.HudsonUpgradeJob
Represents the state of the upgrade activity of Jenkins core.
|
class |
UpdateCenter.InstallationJob
Represents the state of the installation activity of one plugin.
|
static class |
UpdateCenter.PageDecoratorImpl
Adds the update center data retriever to HTML.
|
class |
UpdateCenter.PluginDowngradeJob
Represents the state of the downgrading activity of plugin.
|
static class |
UpdateCenter.PluginEntry |
class |
UpdateCenter.RestartJenkinsJob
Restarts jenkins.
|
static class |
UpdateCenter.UpdateCenterConfiguration
Strategy object for controlling the update center's behaviors.
|
class |
UpdateCenter.UpdateCenterJob
Things that
installerService executes. |
Modifier and Type | Field and Description |
---|---|
static String |
ID_DEFAULT
ID of the default update site.
|
static String |
ID_UPLOAD |
static boolean |
neverUpdate
Deprecated.
as of 1.333
Use
UpdateSite.neverUpdate |
protected ExecutorService |
updateService
An
ExecutorService for updating UpdateSites. |
static XStream2 |
XSTREAM |
Constructor and Description |
---|
UpdateCenter() |
Modifier and Type | Method and Description |
---|---|
void |
configure(UpdateCenter.UpdateCenterConfiguration config)
Configures update center to get plugins/updates from alternate servers,
and optionally using alternate strategies for downloading, installing
and upgrading.
|
void |
doCancelRestart(org.kohsuke.stapler.StaplerResponse response)
Cancel all scheduled jenkins restarts
|
void |
doDowngrade(org.kohsuke.stapler.StaplerResponse rsp)
Performs hudson downgrade.
|
org.kohsuke.stapler.HttpResponse |
doInvalidateData()
Invalidates the update center JSON data for all the sites and force re-retrieval.
|
void |
doRestart(org.kohsuke.stapler.StaplerResponse rsp)
Performs hudson downgrade.
|
void |
doSafeRestart(org.kohsuke.stapler.StaplerRequest request,
org.kohsuke.stapler.StaplerResponse response)
Schedules a Jenkins restart.
|
void |
doUpgrade(org.kohsuke.stapler.StaplerResponse rsp)
Schedules a Jenkins upgrade.
|
Api |
getApi() |
List<UpdateSite.Plugin> |
getAvailables() |
String |
getBackupVersion()
Returns String with version of backup .war file,
if the file does not exists returns null
|
UpdateSite |
getById(String id)
Gets
UpdateSite by its ID. |
UpdateCenter.PluginEntry[] |
getCategorizedAvailables()
Returns a list of plugins that should be shown in the "available" tab, grouped by category.
|
UpdateSite |
getCoreSource()
Gets the
UpdateSite from which we receive updates for jenkins.war. |
String |
getDefaultBaseUrl()
Deprecated.
TODO: revisit tool update mechanism, as that should be de-centralized, too. In the mean time,
please try not to use this method, and instead ping us to get this part completed.
|
String |
getDisplayName() |
UpdateCenter.HudsonUpgradeJob |
getHudsonJob()
Returns latest Jenkins upgrade job.
|
UpdateCenter.UpdateCenterJob |
getJob(int id)
Gets a job by its ID.
|
UpdateCenter.InstallationJob |
getJob(UpdateSite.Plugin plugin)
Returns latest install/upgrade job for the given plugin.
|
List<UpdateCenter.UpdateCenterJob> |
getJobs()
Returns the list of
UpdateCenter.UpdateCenterJob representing scheduled installation attempts. |
String |
getLastUpdatedString()
Gets the string representing how long ago the data was obtained.
|
UpdateSite.Plugin |
getPlugin(String artifactId)
Gets the plugin with the given name from the first
UpdateSite to contain it. |
String |
getSearchUrl()
Returns the URL of this item relative to the parent
SearchItem . |
UpdateSite |
getSite(String id)
Alias for
getById(java.lang.String) . |
List<UpdateSite> |
getSiteList()
The same as
getSites() but for REST API. |
PersistedList<UpdateSite> |
getSites()
Returns the list of
UpdateSite s to be used. |
List<UpdateSite.Plugin> |
getUpdates() |
static void |
init(Jenkins h)
Initializes the update center.
|
boolean |
isDowngradable()
Returns true if backup of jenkins.war exists on the hard drive
|
boolean |
isRestartRequiredForCompletion()
If any of the executed
UpdateCenter.UpdateCenterJob s requires a restart
to take effect, this method returns true. |
boolean |
isRestartScheduled()
Checks if the restart operation is scheduled
(which means in near future Jenkins will restart by itself)
|
void |
load()
Loads the data from the disk into this object.
|
void |
save()
Saves the configuration info to the disk.
|
List<FormValidation> |
updateAllSites()
Ensure that all UpdateSites are up to date, without requiring a user to
browse to the instance.
|
getSearch, getSearchIndex, getSearchName, makeSearchIndex, requirePOST, sendError, sendError, sendError, sendError, sendError
public static final String ID_DEFAULT
@Restricted(value=org.kohsuke.accmod.restrictions.NoExternalUse.class) public static final String ID_UPLOAD
protected final ExecutorService updateService
ExecutorService
for updating UpdateSites.@Deprecated public static boolean neverUpdate
UpdateSite.neverUpdate
public static final XStream2 XSTREAM
public Api getApi()
public void configure(UpdateCenter.UpdateCenterConfiguration config)
config
- Configuration dataUpdateCenter.UpdateCenterConfiguration
@Exported public List<UpdateCenter.UpdateCenterJob> getJobs()
UpdateCenter.UpdateCenterJob
representing scheduled installation attempts.public UpdateCenter.UpdateCenterJob getJob(int id)
UpdateCenter.UpdateCenterJob
bound to URL.public UpdateCenter.InstallationJob getJob(UpdateSite.Plugin plugin)
public UpdateCenter.HudsonUpgradeJob getHudsonJob()
public PersistedList<UpdateSite> getSites()
UpdateSite
s to be used.
This is a live list, whose change will be persisted automatically.@Exported(name="sites") public List<UpdateSite> getSiteList()
getSites()
but for REST API.public UpdateSite getSite(String id)
getById(java.lang.String)
.public String getLastUpdatedString()
UpdateSite
s.public UpdateSite getById(String id)
UpdateSite
by its ID.
Used to bind them to URL.public UpdateSite getCoreSource()
UpdateSite
from which we receive updates for jenkins.war.@Deprecated public String getDefaultBaseUrl()
@CheckForNull public UpdateSite.Plugin getPlugin(String artifactId)
UpdateSite
to contain it.public void doUpgrade(org.kohsuke.stapler.StaplerResponse rsp) throws IOException, javax.servlet.ServletException
IOException
javax.servlet.ServletException
public org.kohsuke.stapler.HttpResponse doInvalidateData()
public void doSafeRestart(org.kohsuke.stapler.StaplerRequest request, org.kohsuke.stapler.StaplerResponse response) throws IOException, javax.servlet.ServletException
IOException
javax.servlet.ServletException
public void doCancelRestart(org.kohsuke.stapler.StaplerResponse response) throws IOException, javax.servlet.ServletException
IOException
javax.servlet.ServletException
@Exported public boolean isRestartRequiredForCompletion()
UpdateCenter.UpdateCenterJob
s requires a restart
to take effect, this method returns true.
This doesn't necessarily mean the user has scheduled or initiated the restart operation.
isRestartScheduled()
public boolean isRestartScheduled()
isRestartRequiredForCompletion()
public boolean isDowngradable()
public void doDowngrade(org.kohsuke.stapler.StaplerResponse rsp) throws IOException, javax.servlet.ServletException
IOException
javax.servlet.ServletException
public void doRestart(org.kohsuke.stapler.StaplerResponse rsp) throws IOException, javax.servlet.ServletException
IOException
javax.servlet.ServletException
public String getBackupVersion()
public String getDisplayName()
getDisplayName
in interface ModelObject
public String getSearchUrl()
SearchItem
SearchItem
.getSearchUrl
in interface SearchItem
public void save()
public void load() throws IOException
IOException
public List<UpdateSite.Plugin> getAvailables()
public UpdateCenter.PluginEntry[] getCategorizedAvailables()
public List<UpdateSite.Plugin> getUpdates()
public List<FormValidation> updateAllSites() throws InterruptedException, ExecutionException
FormValidation
for each updated Update SiteExecutionException
InterruptedException
@Initializer(after=PLUGINS_STARTED, fatal=false) public static void init(Jenkins h) throws IOException
IOException
Copyright © 2017. All rights reserved.