Class CommandLineProcessor
java.lang.Object
org.craftercms.deployer.impl.processors.AbstractDeploymentProcessor
org.craftercms.deployer.impl.processors.AbstractMainDeploymentProcessor
org.craftercms.deployer.impl.processors.CommandLineProcessor
- All Implemented Interfaces:
DeploymentProcessor,InitializableByConfigBean,org.springframework.beans.factory.Aware,org.springframework.beans.factory.BeanNameAware
Processor that runs a command line process.
A processor instance can be configured with the following YAML properties:
- workingDir: The directory from which the process will run. (defaults to the deployer's folder)
- command: The full command that the process will run.
- processTimeoutSecs: The amount of seconds to wait for the process to finish. (defaults to 30)
-
includeChanges: Additional parameters will be added to the command. (defaults to false)
Example: script.sh SITE_NAME OPERATION (CREATE | UPDATE | DELETE) FILE (relative path of the file)
- Author:
- avasquez
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected static final Stringprotected static final longprotected static final Stringstatic final Stringstatic final Stringstatic final Stringprotected static final Stringprotected static final StringFields 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
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidAllows extending classes perform any custom cleanupprotected voiddoInit(org.apache.commons.configuration2.Configuration config) Allows extending classes perform any custom initializationprotected ChangeSetdoMainProcess(Deployment deployment, ProcessorExecution execution, ChangeSet filteredChangeSet, ChangeSet originalChangeSet) protected voidexecuteProcess(String site, String operation, String file) protected voidprocessFiles(String site, String operation, List<String> files) Methods inherited from class org.craftercms.deployer.impl.processors.AbstractMainDeploymentProcessor
doExecute, failDeploymentOnProcessorFailure, init, shouldExecuteMethods inherited from class org.craftercms.deployer.impl.processors.AbstractDeploymentProcessor
destroy, execute, getDeploymentParam, getFilteredChangeSet, isJumpToActive, isPostDeployment, setBeanName, setEnv, setSiteName, setTargetId, shouldIncludeFile, startJumpTo, supportsMode
-
Field Details
-
OPERATION_CREATE
- See Also:
-
OPERATION_UPDATE
- See Also:
-
OPERATION_DELETE
- See Also:
-
WORKING_DIR_CONFIG_KEY
- See Also:
-
COMMAND_CONFIG_KEY
- See Also:
-
PROCESS_TIMEOUT_SECS_CONFIG_KEY
- See Also:
-
INCLUDE_CHANGES_CONFIG_KEY
- See Also:
-
DEFAULT_PROCESS_TIMEOUT_SECS
protected static final long DEFAULT_PROCESS_TIMEOUT_SECS- See Also:
-
-
Constructor Details
-
CommandLineProcessor
public CommandLineProcessor()
-
-
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- Specified by:
doInitin classAbstractDeploymentProcessor- Parameters:
config- the bean's configuration- Throws:
org.craftercms.commons.config.ConfigurationException- if there's configuration related exception
-
doDestroy
Description copied from class:AbstractDeploymentProcessorAllows extending classes perform any custom cleanup- Specified by:
doDestroyin classAbstractDeploymentProcessor- Throws:
DeployerException- if an error occurs
-
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
-
processFiles
protected void processFiles(String site, String operation, List<String> files) throws DeployerException - Throws:
DeployerException
-
executeProcess
- Throws:
DeployerException
-