Class GitPushProcessor
java.lang.Object
org.craftercms.deployer.impl.processors.AbstractDeploymentProcessor
org.craftercms.deployer.impl.processors.AbstractMainDeploymentProcessor
org.craftercms.deployer.impl.processors.git.AbstractRemoteGitRepoAwareProcessor
org.craftercms.deployer.impl.processors.git.GitPushProcessor
- All Implemented Interfaces:
DeploymentProcessor,InitializableByConfigBean,org.springframework.beans.factory.Aware,org.springframework.beans.factory.BeanNameAware
Processor that pushes a localRepo to a remote Git repository. A processor instance can be configured with the
following YAML properties:
- localRepoBranch: The branch of the local repo to push.
- remoteRepo.url: The URL of the remote Git repo to push to.
- remoteRepo.branch: The branch of the remote Git repo to push to.
- remoteRepo.username: The username for authentication with the remote Git repo. Not needed when SSH with RSA key pair authentication is used.
- remoteRepo.password: The password for authentication with the remote Git repo. Not needed when SSH with RSA key pair authentication is used.
- remoteRepo.ssh.privateKey.path: The SSH private key path, used only with SSH with RSA key pair authentication.
- remoteRepo.ssh.privateKey.passphrase: The SSH private key passphrase, used only with SSH withRSA key pair authentication.
- force: sets the force preference for the push.
- pushAll: if all local branches should be pushed to the remote.
- Author:
- avasquez
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected booleanprotected static final Stringprotected static final Stringprotected Stringprotected static final Stringprotected booleanFields inherited from class org.craftercms.deployer.impl.processors.git.AbstractRemoteGitRepoAwareProcessor
authConfiguratorFactory, authenticationConfigurator, localRepoFolder, REMOTE_REPO_BRANCH_CONFIG_KEY, REMOTE_REPO_PASSWORD_CONFIG_KEY, REMOTE_REPO_SSH_PRV_KEY_PASSPHRASE_CONFIG_KEY, REMOTE_REPO_SSH_PRV_KEY_PATH_CONFIG_KEY, REMOTE_REPO_URL_CONFIG_KEY, REMOTE_REPO_USERNAME_CONFIG_KEY, remoteRepoBranch, remoteRepoUrlFields inherited from class org.craftercms.deployer.impl.processors.AbstractMainDeploymentProcessor
FAIL_DEPLOYMENT_CONFIG_KEY, failDeploymentOnFailureFields inherited from class org.craftercms.deployer.impl.processors.AbstractDeploymentProcessor
alwaysRun, env, excludeFiles, includeFiles, JUMPING_TO_PARAM_NAME, jumpTo, label, name, siteName, targetId -
Constructor Summary
ConstructorsConstructorDescriptionGitPushProcessor(File localRepoFolder, org.craftercms.commons.git.utils.AuthConfiguratorFactory authConfiguratorFactory) -
Method Summary
Modifier and TypeMethodDescriptionprotected booleancheckPushResults(Iterable<org.eclipse.jgit.transport.PushResult> pushResults, List<String> detailList) protected booleancheckRemoteRefUpdate(org.eclipse.jgit.transport.RemoteRefUpdate update, List<String> detailList) protected voiddoInit(org.apache.commons.configuration2.Configuration config) Allows extending classes perform any custom initializationprotected ChangeSetdoMainProcess(Deployment deployment, ProcessorExecution execution, ChangeSet filteredChangeSet, ChangeSet originalChangeSet) protected voiddoPush(ProcessorExecution execution) Methods inherited from class org.craftercms.deployer.impl.processors.git.AbstractRemoteGitRepoAwareProcessor
createAuthenticationConfigurator, doDestroy, openLocalRepository, shouldExecuteMethods inherited from class org.craftercms.deployer.impl.processors.AbstractMainDeploymentProcessor
doExecute, failDeploymentOnProcessorFailure, initMethods inherited from class org.craftercms.deployer.impl.processors.AbstractDeploymentProcessor
destroy, execute, getDeploymentParam, getFilteredChangeSet, isJumpToActive, isPostDeployment, setBeanName, setEnv, setSiteName, setTargetId, shouldIncludeFile, startJumpTo, supportsMode
-
Field Details
-
FORCE_CONFIG_KEY
- See Also:
-
PUSH_ALL_CONFIG_KEY
- See Also:
-
LOCAL_BRANCH_CONFIG_KEY
- See Also:
-
force
protected boolean force -
pushAll
protected boolean pushAll -
localBranch
-
-
Constructor Details
-
GitPushProcessor
public GitPushProcessor(File localRepoFolder, org.craftercms.commons.git.utils.AuthConfiguratorFactory authConfiguratorFactory)
-
-
Method Details
-
doInit
protected void doInit(org.apache.commons.configuration2.Configuration config) throws org.craftercms.commons.config.ConfigurationException Description copied from class:AbstractDeploymentProcessorAllows extending classes perform any custom initialization- Overrides:
doInitin classAbstractRemoteGitRepoAwareProcessor- Parameters:
config- the bean's configuration- Throws:
org.craftercms.commons.config.ConfigurationException- if there's configuration related exception
-
doMainProcess
protected ChangeSet doMainProcess(Deployment deployment, ProcessorExecution execution, ChangeSet filteredChangeSet, ChangeSet originalChangeSet) throws DeployerException Description copied from class:AbstractMainDeploymentProcessorPerforms the actual work of processing the files in theChangeSet, it is also possible to return a newChangeSetto be used for the following processors in the pipeline- Specified by:
doMainProcessin classAbstractMainDeploymentProcessor- Parameters:
deployment- the current deploymentexecution- the current executionfilteredChangeSet- the filtered change set (as returned byAbstractDeploymentProcessor.getFilteredChangeSet(ChangeSet))originalChangeSet- the original change set (as returned by the previous processors in the pipeline)- Returns:
- a new
ChangeSetor null - Throws:
DeployerException- if there is any error processing theChangeSet
-
doPush
- Throws:
DeployerException
-
checkPushResults
protected boolean checkPushResults(Iterable<org.eclipse.jgit.transport.PushResult> pushResults, List<String> detailList) throws DeployerException - Throws:
DeployerException
-
checkRemoteRefUpdate
protected boolean checkRemoteRefUpdate(org.eclipse.jgit.transport.RemoteRefUpdate update, List<String> detailList) throws DeployerException - Throws:
DeployerException
-