There If you can install git on the endpoint, that's the easiest, but sometimes company policy doesn't allow installing things on endpoints.
If there is no Git on Development server for SOA an endpoint which is used for build, what can be done. ? Let's checkout files on Local instance (FlexDeploy) then copy it to Development server. See Export on FlexDeploy Server on demo server.
Instructions
...
the endpoint.
The instructions assume that DEV is the environment Code that you are trying to build from. If you use another, then please use that instead.
Instructions
Create Local instance.
Map Local instance to DEV environment.
Make sure to map LOCALHOST endpoint to LOCAL - DEV environment instance.
...
Workflow code in YAML (8.0 onwards)
Code Block |
---|
<?xml version="1.0" encoding="UTF-8"?> <ns0:WorkFlow xmlns:ns1="http://flexagon.com/flexdeploy/workflow/common" xmlns:ns0="http://flexagon.com/flexdeploy/workflow"> <ns1:Name>Export on FlexDeploy Server</ns1:Name> <ns1:Description>This is useful when there is no Git on development server to perform build.</ns1:Description> <ns0:Steps> <ns0:Step> <ns1:Name>Clone on FlexDeploy Server</ns1:Name> <ns1:StepId>1</ns1:StepId> <ns0:InvokePlugin> <ns0:PluginName>FlexagonGITPlugin</ns0:PluginName> <ns0:PluginOperation>cloneProjectSources</ns0:PluginOperation> <ns0:EndpointInstanceOverride>LOCAL</ns0:EndpointInstanceOverride> <ns0:consumesArtifacts>false</ns0:consumesArtifacts> name: Export on FlexDeploy Server description: This is useful when there is no Git on development server to perform build. steps: - id: '1' name: Clone on FlexDeploy Server type: INVOKE_PLUGIN data: pluginName: FlexagonGITPlugin pluginOperation: cloneProjectSources endpointInstanceOverride: value: LOCAL isExpression: false consumesArtifacts: false producesArtifacts: false endpointSelection: choice: All endpointExecution: choice: Any stopOnError: false inputs: [ ] outputs: [ ] userInputs: [ ] userOutputs: [ ] - id: '2' name: Copy to Transfer on FlexDeploy Server type: INVOKE_PLUGIN data: pluginName: FlexagonShellPlugin pluginOperation: execute endpointInstanceOverride: value: LOCAL isExpression: false consumesArtifacts: false producesArtifacts: false endpointSelection: choice: All endpointExecution: choice: Any stopOnError: false inputs: - name: FDSHELL_INP_CODE_SNIPPET value: value: |- cd $FD_TEMP_DIR cd $FDBLD_GIT_SOURCE1_CHECKOUT_FOLDER $JAVA_HOME/bin/jar -cvfM $FD_TRANSFER_DIR/transfer.jar * isExpression: false isEncrypted: false - name: FDSHELL_INP_STOP_ON_ERROR value: value: 'true' isExpression: false isEncrypted: false - name: FDSHELL_INP_DISABLE_ECHO value: value: 'false' isExpression: false isEncrypted: false - name: FDSHELL_INP_RESTRICT_ENVIRONMENT value: isExpression: false isEncrypted: false - name: FDSHELL_INP_NO_SECURE_VARIABLES value: value: 'false' isExpression: false isEncrypted: false outputs: [ ] userInputs: [ ] userOutputs: [ ] - id: '3' name: Copy to Temp on Endpoint type: INVOKE_PLUGIN data: pluginName: FlexagonShellPlugin pluginOperation: execute endpointInstanceOverride: value: SOAHR isExpression: false consumesArtifacts: false producesArtifacts: false endpointSelection: choice: All endpointExecution: choice: Any stopOnError: false inputs: - name: FDSHELL_INP_CODE_SNIPPET value: value: |- cd $FD_TEMP_DIR mkdir $FDBLD_GIT_SOURCE1_CHECKOUT_FOLDER cd $FDBLD_GIT_SOURCE1_CHECKOUT_FOLDER $JAVA_HOME/bin/jar -xvf $FD_TRANSFER_DIR/transfer.jar isExpression: false isEncrypted: false - name: FDSHELL_INP_STOP_ON_ERROR value: value: 'true' isExpression: false isEncrypted: false - name: FDSHELL_INP_DISABLE_ECHO value: value: 'false' isExpression: false isEncrypted: false - name: FDSHELL_INP_RESTRICT_ENVIRONMENT value: isExpression: false isEncrypted: false - name: FDSHELL_INP_NO_SECURE_VARIABLES value: value: 'false' isExpression: false isEncrypted: false outputs: [ ] userInputs: [ ] userOutputs: [ ] |
 Workflow code in XML (prior to 8.0)
Code Block | ||
---|---|---|
| ||
<?xml version="1.0" encoding="UTF-8"?> <ns0:WorkFlow xmlns:ns1="http://flexagon.com/flexdeploy/workflow/common" xmlns:ns0="http://flexagon.com/flexdeploy/workflow"> <ns1:Name>Export on FlexDeploy Server</ns1:Name> <ns1:Description>This is useful when there is no Git on development server to perform build.</ns1:Description> <ns0:Steps> <ns0:producesArtifacts>false</ns0:producesArtifacts>Step> <ns1:Name>Clone on FlexDeploy <ns0:PluginInputs/>Server</ns1:Name> <ns0:UserInputs/><ns1:StepId>1</ns1:StepId> <ns0:PluginOutputs/>InvokePlugin> <ns0:UserOutputs/>PluginName>FlexagonGITPlugin</ns0:PluginName> <<ns0:PluginOperation>cloneProjectSources</ns0:InvokePlugin> PluginOperation> </ns0:Step> <ns0:Step>:EndpointInstanceOverride>LOCAL</ns0:EndpointInstanceOverride> <ns1:Name>Copy to Transfer on FlexDeploy Server</ns1:Name> <ns0:consumesArtifacts>false</ns0:consumesArtifacts> <ns1<ns0:StepId>2<producesArtifacts>false</ns1:StepId>ns0:producesArtifacts> <ns0:InvokePlugin>PluginInputs/> <ns0:PluginName>FlexagonShellPlugin<UserInputs/ns0:PluginName>> <ns0:PluginOperation>execute<PluginOutputs/ns0:PluginOperation>> <ns0:EndpointInstanceOverride>LOCAL<UserOutputs/ns0:EndpointInstanceOverride>> <ns0:consumesArtifacts>false<</ns0:consumesArtifacts>InvokePlugin> </ns0:Step> <ns0:producesArtifacts>false</ns0:producesArtifacts>Step> <ns0:EndpointSelection> <ns1:Name>Copy to Transfer on FlexDeploy Server</ns1:Name> <ns0<ns1:EndpointSelectionChoice>All<StepId>2</ns0ns1:EndpointSelectionChoice>StepId> </ns0:EndpointSelection><ns0:InvokePlugin> <ns0:EndpointExecutionChoice>Any<PluginName>FlexagonShellPlugin</ns0:EndpointExecutionChoice>PluginName> <ns0:PluginInputs> :PluginOperation>execute</ns0:PluginOperation> <ns0:EndpointInstanceOverride>LOCAL</ns0:PluginInput>EndpointInstanceOverride> <ns0:Name>FDSHELL_INP_CODE_SNIPPET<consumesArtifacts>false</ns0:Name>consumesArtifacts> <ns0:ValueType>Text<producesArtifacts>false</ns0:ValueType> producesArtifacts> <ns0:Encrypted>false</ns0:Encrypted>EndpointSelection> <ns1:Type>String</ns1:Type><ns0:EndpointSelectionChoice>All</ns0:EndpointSelectionChoice> </ns0:EndpointSelection> <ns0:Text>cd $FD_TEMP_DIR cd $FDBLD_GIT_SOURCE1_CHECKOUT_FOLDER $JAVA_HOME/bin/jar -cvfM $FD_TRANSFER_DIR/transfer.jar *< <ns0:EndpointExecutionChoice>Any</ns0:Text>EndpointExecutionChoice> </ns0:PluginInput><ns0:PluginInputs> <ns0:PluginInput> <ns0:Name>FDSHELL_INP_STOPCODE_ON_ERROR<SNIPPET</ns0:Name> <ns0:ValueType>Text</ns0:ValueType> <ns0:Encrypted>false</ns0:Encrypted> <ns1:Type>Boolean<Type>String</ns1:Type> <ns0:Text>cd $FD_TEMP_DIR <ns0:Text>true<cd $FDBLD_GIT_SOURCE1_CHECKOUT_FOLDER $JAVA_HOME/bin/jar -cvfM $FD_TRANSFER_DIR/transfer.jar *</ns0:Text> </ns0:PluginInput> <ns0:PluginInput> <ns0:Name>FDSHELL_INP_STOP_DISABLEON_ECHO<ERROR</ns0:Name> <ns0:ValueType>Text</ns0:ValueType> <ns0:Encrypted>false</ns0:Encrypted> <ns1:Type>Boolean</ns1:Type> <ns0:Text>false<Text>true</ns0:Text> </ns0:PluginInput> <ns0:PluginInput> <ns0:Name>FDSHELL_INP_RESTRICTDISABLE_ENVIRONMENT<ECHO</ns0:Name> <ns0:ValueType>Text</ns0:ValueType> <ns0:Encrypted>false</ns0:Encrypted> <ns1:Type>String<Type>Boolean</ns1:Type> <ns0:Text>false</ns0:Text> </ns0:PluginInput> <ns0:PluginInput> <ns0:Name>FDSHELL_INP_NORESTRICT_SECURE_VARIABLES<ENVIRONMENT</ns0:Name> <ns0:ValueType>Text</ns0:ValueType> <ns0:Encrypted>false</ns0:Encrypted> <ns1:Type>Boolean<Type>String</ns1:Type> <ns0:Text>false<</ns0:Text>PluginInput> </ns0<ns0:PluginInput> <<ns0:Name>FDSHELL_INP_NO_SECURE_VARIABLES</ns0:PluginInputs>Name> <ns0:UserInputs/> <ns0:ValueType>Text</ns0:ValueType> <ns0:PluginOutputs/> <ns0:UserOutputs/>Encrypted>false</ns0:Encrypted> </ns0:InvokePlugin> <<ns1:Type>Boolean</ns0ns1:Step> Type> <ns0:Step> <ns1:Name>Copy to Temp on Edpoint<<ns0:Text>false</ns1ns0:Name> Text> <ns1:StepId>3</ns1:StepId> <ns0:InvokePlugin></ns0:PluginInput> <ns0:PluginName>FlexagonShellPlugin<</ns0:PluginName>PluginInputs> <ns0:PluginOperation>execute<UserInputs/ns0:PluginOperation>> <ns0:EndpointInstanceOverride>SOAHR<PluginOutputs/ns0:EndpointInstanceOverride>> <ns0:consumesArtifacts>false</ns0:consumesArtifacts>UserOutputs/> </ns0:InvokePlugin> <ns0:producesArtifacts>false<</ns0:producesArtifacts>Step> <ns0:Step> <ns0:EndpointSelection> <ns1:Name>Copy to Temp on Endpoint</ns1:Name> <ns0 <ns1:EndpointSelectionChoice>All<StepId>3</ns0ns1:EndpointSelectionChoice>StepId> </ns0:EndpointSelection><ns0:InvokePlugin> <ns0:EndpointExecutionChoice>Any<PluginName>FlexagonShellPlugin</ns0:EndpointExecutionChoice>PluginName> <ns0:PluginInputs> PluginOperation>execute</ns0:PluginOperation> <ns0:PluginInput> :EndpointInstanceOverride>SOAHR</ns0:EndpointInstanceOverride> <ns0:Name>FDSHELL_INP_CODE_SNIPPET<consumesArtifacts>false</ns0:Name> consumesArtifacts> <ns0:ValueType>Text<producesArtifacts>false</ns0:ValueType>producesArtifacts> <ns0:EndpointSelection> <ns0:Encrypted>false</ns0:Encrypted> <ns0:EndpointSelectionChoice>All</ns0:EndpointSelectionChoice> <ns1:Type>String</ns1:Type> </ns0:EndpointSelection> <ns0:Text>cd $FD_TEMP_DIR mkdir $FDBLD_GIT_SOURCE1_CHECKOUT_FOLDER cd $FDBLD_GIT_SOURCE1_CHECKOUT_FOLDER $JAVA_HOME/bin/jar -xvf $FD_TRANSFER_DIR/transfer.jar</ns0:Text>EndpointExecutionChoice>Any</ns0:EndpointExecutionChoice> </ns0:PluginInput><ns0:PluginInputs> <ns0:PluginInput> <ns0:Name>FDSHELL_INP_STOPCODE_ON_ERROR<SNIPPET</ns0:Name> <ns0:ValueType>Text</ns0:ValueType> <ns0:Encrypted>false</ns0:Encrypted> <ns1:Type>Boolean<Type>String</ns1:Type> <ns0:Text>true</ns0:Text> </ns0:PluginInput> <ns0:PluginInput> <ns0:Text>cd $FD_TEMP_DIR mkdir $FDBLD_GIT_SOURCE1_CHECKOUT_FOLDER cd $FDBLD_GIT_SOURCE1_CHECKOUT_FOLDER $JAVA_HOME/bin/jar <ns0:Name>FDSHELL_INP_DISABLE_ECHO<-xvf $FD_TRANSFER_DIR/transfer.jar</ns0:Name> Text> <ns0:ValueType>Text<</ns0:ValueType> PluginInput> <ns0:Encrypted>false</ns0:Encrypted>PluginInput> <ns1:Type>Boolean</ns1:Type><ns0:Name>FDSHELL_INP_STOP_ON_ERROR</ns0:Name> <ns0:Text>false<ValueType>Text</ns0:Text>ValueType> <<ns0:Encrypted>false</ns0:PluginInput>Encrypted> <ns0:PluginInput><ns1:Type>Boolean</ns1:Type> <ns0:Name>FDSHELL_INP_RESTRICT_ENVIRONMENT<Text>true</ns0:Name> :Text> <ns0:ValueType>Text<</ns0:ValueType> PluginInput> <ns0:Encrypted>false</ns0:Encrypted>PluginInput> <ns1:Type>String</ns1:Type><ns0:Name>FDSHELL_INP_DISABLE_ECHO</ns0:Name> <<ns0:ValueType>Text</ns0:PluginInput>ValueType> <ns0:PluginInput>Encrypted>false</ns0:Encrypted> <ns0:Name>FDSHELL_INP_NO_SECURE_VARIABLES</ns0:Name><ns1:Type>Boolean</ns1:Type> <ns0:ValueType>Text<Text>false</ns0:ValueType>Text> <ns0:Encrypted>false<</ns0:Encrypted>PluginInput> <ns1:Type>Boolean</ns1:Type><ns0:PluginInput> <ns0:Text>false<Name>FDSHELL_INP_RESTRICT_ENVIRONMENT</ns0:Text>Name> <<ns0:ValueType>Text</ns0:PluginInput>ValueType> <<ns0:Encrypted>false</ns0:PluginInputs>Encrypted> <ns0<ns1:UserInputs/>Type>String</ns1:Type> <ns0:PluginOutputs/></ns0:PluginInput> <ns0:UserOutputs/>PluginInput> </ns0:InvokePlugin> <<ns0:Name>FDSHELL_INP_NO_SECURE_VARIABLES</ns0:Step>Name> <ns0:Step> <ns1<ns0:Name>Build<ValueType>Text</ns1ns0:Name> ValueType> <ns1:StepId>4</ns1:StepId> <ns0:Encrypted>false</ns0:InvokePlugin>Encrypted> <ns0:PluginName>FlexagonSOAPlugin</ns0:PluginName> <ns1:Type>Boolean</ns1:Type> <ns0:PluginOperation>soaBuild</ns0:PluginOperation> <ns0:consumesArtifacts>false<Text>false</ns0:consumesArtifacts>Text> <ns0:producesArtifacts>false<</ns0:producesArtifacts>PluginInput> <ns0:PluginInputs/></ns0:PluginInputs> <ns0:UserInputs/> <ns0:PluginOutputs/> <ns0:UserOutputs/> </ns0:InvokePlugin> </ns0:Step> </ns0:Steps> </ns0:WorkFlow> |
Related articles
Filter by label (Content by label) | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Page Properties | ||
---|---|---|
| ||
|