Package jenkins.model
Class StandardArtifactManager
java.lang.Object
jenkins.model.ArtifactManager
jenkins.model.StandardArtifactManager
Default artifact manager which transfers files over the remoting channel and stores them inside the build directory.
May be subclassed to provide an artifact manager which uses the standard storage but which only overrides
archive(hudson.FilePath, hudson.Launcher, hudson.model.BuildListener, java.util.Map<java.lang.String, java.lang.String>)
.- Since:
- 1.532
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
archive
(FilePath workspace, Launcher launcher, BuildListener listener, Map<String, String> artifacts) Archive all configured artifacts from a build.final boolean
delete()
Delete all artifacts associated with an earlier build (if any).final void
Called when this manager is loaded from disk.root()
Returns a representation of the root directory of archived artifacts.
-
Field Details
-
TAR_COMPRESSION
@Restricted(org.kohsuke.accmod.restrictions.NoExternalUse.class) public static FilePath.TarCompression TAR_COMPRESSION -
build
-
-
Constructor Details
-
StandardArtifactManager
-
-
Method Details
-
onLoad
Description copied from class:ArtifactManager
Called when this manager is loaded from disk. The selected manager will be persisted inside a build, so the build reference should betransient
(quasi-final
) and restored here.- Specified by:
onLoad
in classArtifactManager
- Parameters:
build
- a historical build with which this manager was associated
-
archive
public void archive(FilePath workspace, Launcher launcher, BuildListener listener, Map<String, String> artifacts) throws IOException, InterruptedExceptionDescription copied from class:ArtifactManager
Archive all configured artifacts from a build.If called multiple times for the same build, do not delete the old artifacts but keep them all, unless overwritten. For example, the XVNC plugin could use this to save
screenshot.jpg
if so configured.This method is typically invoked on a running build, though e.g. in the case of Maven module builds, the build may actually be
Run.State.COMPLETED
when this is called (since it is the parent build which is still running and performing archiving).- Specified by:
archive
in classArtifactManager
- Parameters:
workspace
- the root directory from which to copy files (typicallyAbstractBuild.getWorkspace()
but not necessarily)launcher
- a launcher to use if external processes need to be forkedlistener
- a way to print messages about progress or problemsartifacts
- map from paths in the archive area to paths relative toworkspace
(all paths/
-separated)- Throws:
IOException
- if transfer or copying failed in any wayInterruptedException
- if transfer was interrupted- See Also:
-
delete
Description copied from class:ArtifactManager
Delete all artifacts associated with an earlier build (if any).- Specified by:
delete
in classArtifactManager
- Returns:
- true if there was actually anything to delete
- Throws:
IOException
- if deletion could not be completedInterruptedException
- if deletion was interrupted
-
root
Description copied from class:ArtifactManager
Returns a representation of the root directory of archived artifacts.- Specified by:
root
in classArtifactManager
- Returns:
- the archive root
-