public class BambooRemoteArtifactHandler extends AbstractRepublishingArtifactHandler implements RepublishingArtifactHandler
Modifier and Type | Field and Description |
---|---|
static String |
ALLOW_EMPTY_ARTIFACTS |
fallbackArtifactHandler
ALL_AGENT_TYPES, LOCAL_AGENTS, NON_LOCAL_AGENTS
LAN_SPEED, LOCAL_SPEED, NEVER_ARCHIVE, WAN_SPEED
Constructor and Description |
---|
BambooRemoteArtifactHandler() |
Modifier and Type | Method and Description |
---|---|
@Nullable ArtifactLinkDataProvider |
getArtifactLinkDataProvider(Artifact artifact,
@NotNull ArtifactHandlerConfigProvider artifactHandlerConfigProvider) |
ArtifactLinkDataProvider |
getArtifactLinkDataProvider(ArtifactLink artifactLink,
@NotNull ArtifactHandlerConfigProvider artifactHandlerConfigProvider) |
long |
getMaxUnarchivedFilesPerArtifact(@NotNull Map<String,String> artifactHandlersConfiguration)
Returns the maximum number of files that can exist per artifact which will not be compressed and combined into
a single archive.
|
int |
getSpeed(@NotNull Map<String,String> artifactHandlersConfiguration)
Return approximate transfer speed of this artifact handler in bytes per second for the specified configuration.
|
boolean |
isRepublishingSupported()
If republishing is really supported.
|
boolean |
moveArtifactToGlobalStorage(@NotNull Artifact artifact,
@NotNull ArtifactHandlerConfigProvider artifactHandlerConfigProvider)
Move artifact to a 'global storage'.
|
@NotNull ArtifactHandlerPublishingResult |
publish(@NotNull ResultKey resultKey,
@NotNull ArtifactDefinitionContext artifact,
@NotNull ArtifactPublishingConfig artifactPublishingConfig,
@Nullable BuildLogger buildLogger) |
void |
removeAllArtifactsOfChain(@NotNull PlanKey planKey,
@NotNull ArtifactHandlerConfigProvider artifactHandlerConfigProvider)
Removes artifact files for all results of a single chain.
|
void |
removeArtifactFromStorage(@NotNull Artifact artifact,
@NotNull ArtifactHandlerConfigProvider artifactHandlerConfigProvider)
Removes artifact files for a single artifact.
|
void |
removeArtifactFromStorage(@NotNull PlanResultKey planResultKey,
@NotNull ImmutableArtifactDefinitionBase artifact,
@NotNull ArtifactHandlerConfigProvider artifactHandlerConfigProvider)
Removes artifact files for a single artifact.
|
void |
removeArtifactFromStorage(@NotNull ResultKey resultKey,
@NotNull ImmutableArtifactDefinitionBase artifact,
@NotNull ArtifactHandlerConfigProvider artifactHandlerConfigProvider)
Removes artifact files for a single artifact.
|
void |
removeArtifactsFromStorage(@NotNull PlanKey planKey,
@NotNull ArtifactHandlerConfigProvider artifactHandlerConfigProvider)
Removes artifact files for all results of a single chain or job.
|
void |
removeArtifactsFromStorage(@NotNull PlanResultKey planResultKey,
@NotNull ArtifactHandlerConfigProvider artifactHandlerConfigProvider)
Removes artifact files for a single plan result.
|
@NotNull ArtifactHandlerPublishingResult |
republish(@NotNull ArtifactHandlerPublishingResult previousPublishingResult,
@NotNull ResultKey resultKey,
@NotNull ArtifactDefinitionContext artifact,
@NotNull ArtifactHandlerConfigProvider artifactHandlerConfigProvider,
@Nullable BuildLogger buildLogger)
Method called when remote agent tries to recover from result publishing failures.
|
@NotNull ArtifactRetrievalStatus |
retrieve(@NotNull ResultKey clientKey,
@NotNull Artifact artifact,
@NotNull ArtifactSubscriptionContext artifactSubscription,
@NotNull ArtifactRetrievalConfig artifactRetrievalConfig)
Retrieve arbitrary
Artifact . |
checkIfNothingWasPublished, copyToFallbackStorageIfDeferred, getFileSetFromFallbackStorage, makeNotNull
canHandleArtifact, configProvider, configProvider, getConfigurationKey, getConfigValue, getDefaultConfiguration, getModuleDescriptor, getSupportedAgents, init
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
republish
canHandleArtifact, getDefaultConfiguration, getModuleDescriptor, getSupportedAgents, publish
public static final String ALLOW_EMPTY_ARTIFACTS
@NotNull public @NotNull ArtifactHandlerPublishingResult publish(@NotNull @NotNull ResultKey resultKey, @NotNull @NotNull ArtifactDefinitionContext artifact, @NotNull @NotNull ArtifactPublishingConfig artifactPublishingConfig, @Nullable @Nullable BuildLogger buildLogger) throws Exception
publish
in interface ArtifactHandler
Exception
public boolean isRepublishingSupported()
RepublishingArtifactHandler
isRepublishingSupported
in interface RepublishingArtifactHandler
@NotNull public @NotNull ArtifactHandlerPublishingResult republish(@NotNull @NotNull ArtifactHandlerPublishingResult previousPublishingResult, @NotNull @NotNull ResultKey resultKey, @NotNull @NotNull ArtifactDefinitionContext artifact, @NotNull @NotNull ArtifactHandlerConfigProvider artifactHandlerConfigProvider, @Nullable @Nullable BuildLogger buildLogger)
RepublishingArtifactHandler
ArtifactHandlerPublishingResult.Status.DEFERRED
.republish
in interface RepublishingArtifactHandler
@NotNull public @NotNull ArtifactRetrievalStatus retrieve(@NotNull @NotNull ResultKey clientKey, @NotNull @NotNull Artifact artifact, @NotNull @NotNull ArtifactSubscriptionContext artifactSubscription, @NotNull @NotNull ArtifactRetrievalConfig artifactRetrievalConfig)
ArtifactHandler
Artifact
. Artifact is found by the information in artifact parameter.retrieve
in interface ArtifactHandler
clientKey
- identifier of plan or deployment doing the downloadartifact
- artifact informationartifactSubscription
- download details (e.g. target path, copy pattern)artifactRetrievalConfig
- handler specific configurationpublic int getSpeed(@NotNull @NotNull Map<String,String> artifactHandlersConfiguration)
ArtifactHandler
getSpeed
in interface ArtifactHandler
artifactHandlersConfiguration
- artifact handler configurationArtifactHandler.LOCAL_SPEED
, ArtifactHandler.LAN_SPEED
, ArtifactHandler.WAN_SPEED
public void removeArtifactFromStorage(@NotNull @NotNull PlanResultKey planResultKey, @NotNull @NotNull ImmutableArtifactDefinitionBase artifact, @NotNull @NotNull ArtifactHandlerConfigProvider artifactHandlerConfigProvider)
ArtifactHandler
ArtifactLink
Should not remove artifacts that were moved to global storage.removeArtifactFromStorage
in interface ArtifactHandler
public void removeArtifactsFromStorage(@NotNull @NotNull PlanResultKey planResultKey, @NotNull @NotNull ArtifactHandlerConfigProvider artifactHandlerConfigProvider)
ArtifactHandler
ResultsSummary
Should not remove artifacts that were moved to global storage.removeArtifactsFromStorage
in interface ArtifactHandler
public void removeArtifactsFromStorage(@NotNull @NotNull PlanKey planKey, @NotNull @NotNull ArtifactHandlerConfigProvider artifactHandlerConfigProvider)
ArtifactHandler
Plan
Calling it for chain removes only the shared artifacts.
Should not remove artifacts that were moved to global storage.removeArtifactsFromStorage
in interface ArtifactHandler
public void removeAllArtifactsOfChain(@NotNull @NotNull PlanKey planKey, @NotNull @NotNull ArtifactHandlerConfigProvider artifactHandlerConfigProvider)
ArtifactHandler
Chain
Should not remove artifacts that were moved to global storage.removeAllArtifactsOfChain
in interface ArtifactHandler
public ArtifactLinkDataProvider getArtifactLinkDataProvider(ArtifactLink artifactLink, @NotNull @NotNull ArtifactHandlerConfigProvider artifactHandlerConfigProvider)
getArtifactLinkDataProvider
in interface ArtifactHandler
public void removeArtifactFromStorage(@NotNull @NotNull Artifact artifact, @NotNull @NotNull ArtifactHandlerConfigProvider artifactHandlerConfigProvider)
ArtifactHandler
removeArtifactFromStorage
in interface ArtifactHandler
public void removeArtifactFromStorage(@NotNull @NotNull ResultKey resultKey, @NotNull @NotNull ImmutableArtifactDefinitionBase artifact, @NotNull @NotNull ArtifactHandlerConfigProvider artifactHandlerConfigProvider)
ArtifactHandler
ArtifactLink
Should not remove artifacts that were moved to global storage.removeArtifactFromStorage
in interface ArtifactHandler
public boolean moveArtifactToGlobalStorage(@NotNull @NotNull Artifact artifact, @NotNull @NotNull ArtifactHandlerConfigProvider artifactHandlerConfigProvider)
ArtifactHandler
ArtifactHandler.removeArtifactFromStorage(Artifact, ArtifactHandlerConfigProvider)
is called.
It is not a requirement to physically move the files as long as the above contract is fulfilled.moveArtifactToGlobalStorage
in interface ArtifactHandler
@Nullable public @Nullable ArtifactLinkDataProvider getArtifactLinkDataProvider(Artifact artifact, @NotNull @NotNull ArtifactHandlerConfigProvider artifactHandlerConfigProvider)
getArtifactLinkDataProvider
in interface ArtifactHandler
public long getMaxUnarchivedFilesPerArtifact(@NotNull @NotNull Map<String,String> artifactHandlersConfiguration)
ArtifactHandler
Returns the maximum number of files that can exist per artifact which will not be compressed and combined into a single archive. If the threshold is exceeded, artifacts will be packaged into a single file before publishing.
ArtifactHandler
does not need to treat archived artifacts differently - from ArtifactHandler
perspective the packaging is transparent. Artifact files will be compressed before invoking #publish method and
decompressed after invoking #retrieve method.
This method should return ArtifactHandler.NEVER_ARCHIVE
if packaging of artifacts is disabled, to always send files
unarchived.
getMaxUnarchivedFilesPerArtifact
in interface ArtifactHandler
getMaxUnarchivedFilesPerArtifact
in class AbstractArtifactHandler
artifactHandlersConfiguration
- artifact handler configurationCopyright © 2023 Atlassian Software Systems Pty Ltd. All rights reserved.