public interface RemoteBuilderPlugin extends ModulePlugin
Module remotely.
In many setups, some builds are performed in a controlled environment, as
opposed to a workspace on a user's workstation. For example, official release
builds for static Version's for which the resulting artifacts can
potentially be deployed to a production environment, or that can be reused in
such builds of other Module's, generally need to be performed in such a
controlled environment typically provided by a tool such as Jenkins.
This plugin provides an abstract interface to such remote build environments so that they can be triggered by BuildRemote from dragom-core.
| Modifier and Type | Interface and Description |
|---|---|
static interface |
RemoteBuilderPlugin.RemoteBuildHandle
Represents a remote build and allows obtaining its status and interacting with
it.
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
isBuildNeeded(Version version)
|
RemoteBuilderPlugin.RemoteBuildHandle |
submitBuild(Version version)
Schedules the remote build.
|
getModulegetNodeboolean isBuildNeeded(Version version)
Version if the Module needs to be built.
Typically for a static Version, the plugin would verify if that Version has already been built by looking for the corresponding ArtifactVersion in some artifact repository.
For a dynamic Version, this is not so obvious. Generally, remote building dynamic Version's from Dragom is not expected to be a common use case as dynamic Version's are expected to be built automatically by some continuous integration tool in response to commits performed in the SCM, all this without the help of Dragom.
Still, remote building dynamic Version's may in some cases make sense. If such a practice is common in a given environment, the plugin should probably query the remote building system whether there are new changes in the SCM compared to the last build. Otherwise, the plugin may always return true for dynamic Version's.
version - Version of the Module.RemoteBuilderPlugin.RemoteBuildHandle submitBuild(Version version)
An instance of this plugin is associated with a specific Module. But
not a specific Version, which must be specified.
version - Version of the Module to build.Copyright © 2015–2017 AZYVA INC.. All rights reserved.