Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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

  1. Create Local instance.

  2. Map Local instance to DEV environment.

  3. Make sure to map LOCALHOST endpoint to LOCAL - DEV environment instance.

 Here is workflow code.

...

languagexml
themeEclipse

...

Workflow code in YAML (8.0 onwards)

Code Block
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
languagexml
<?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>

Filter by label (Content by label)
showLabelsfalse
max5
spacescom.atlassian.confluence.content.render.xhtml.model.resource.identifiers.SpaceResourceIdentifier@1101d
showSpacefalse
sortmodified
reversetrue
typepage
cqllabel = "kb-how-to-article" and type = "page" and space = "FKB"
labelskb-how-to-article

Page Properties
hiddentrue

Related issues