Versions Compared

Key

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

...

If you are using other SCM, then you will need to use proper operations for commit of files. Basic steps will be to checkout code, copy files in it and commit.

...

You can download workflow source from ExtractLDT_Workflow_Source.xml and update Source of your workflow.

...

Extract LDT workflow source
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>Extract LDT</ns1:Name>
   <ns1:Description></ns1:Description>
   <ns0:Steps>
      <ns0:Step>
         <ns1:Name>Extract LDT Files from EBS</ns1:Name>
         <ns1:StepId>1</ns1:StepId>
 name: Extract LDT
description: ''
steps:
- id: '1'
  name: Extract LDT Files from EBS
  type: INVOKE_PLUGIN
  data:
    pluginName: FlexagonEBSPlugin
    pluginOperation: build
    endpointInstanceOverride:
      isExpression: false
    consumesArtifacts: false
    producesArtifacts: true
    endpointSelection:
       <ns0choice:InvokePlugin> All
    endpointExecution:
      <ns0:PluginName>FlexagonEBSPlugin</ns0:PluginName>choice: Any
      stopOnError: false
    <ns0:PluginOperation>build</ns0:PluginOperation>inputs:
    - name: FDEBS_INP_INCLUDE_FILES
      <ns0:consumesArtifacts>false</ns0:consumesArtifacts>value:
        isExpression: false
   <ns0:producesArtifacts>false</ns0:producesArtifacts>   isEncrypted: false
    outputs: []
  <ns0:PluginInputs>  userInputs: []
    userOutputs: []
- id: '2'
   <ns0name:PluginInput> Git Clone
  type: INVOKE_PLUGIN
  data:
    pluginName: FlexagonGITPlugin
   <ns0:Name>FDEBS_INP_INCLUDE_FILES</ns0:Name>
 pluginOperation: clone
    endpointInstanceOverride:
      isExpression: false
    <ns0:ValueType>Text</ns0consumesArtifacts:ValueType> false
    producesArtifacts: false
    endpointSelection:
      <ns0:Encrypted>false</ns0:Encrypted>choice: All
    endpointExecution:
      choice: Any
      <ns1stopOnError:Type>String</ns1:Type> false
    inputs:
    - name: FDGIT_INP_INSTANCE_CODE
  </ns0:PluginInput>    value:
        </ns0:PluginInputs>value: GIT1
        isExpression: false
  <ns0:UserInputs/>    isEncrypted: false
    - name:  <ns0:PluginOutputs/>FDGIT_INP_DEST_SUBFOLDER
      value:
        <ns0value:UserOutputs ../>ebsldtfiles
         </ns0:InvokePlugin>isExpression: false
      </ns0isEncrypted:Step> false
    - <ns0name:Step> FDGIT_INP_BRANCH
        <ns1value:Name>Git
Clone</ns1:Name>        value:  <ns1:StepId>2</ns1:StepId>FDBLD_STREAM_NAME
        isExpression: true
<ns0:InvokePlugin>      isEncrypted: false
    - <ns0:PluginName>FlexagonGITPlugin</ns0:PluginName>name: FDGIT_INP_DEPTH
      value:
     <ns0:PluginOperation>clone</ns0:PluginOperation>   value: '1'
        <ns0isExpression:consumesArtifacts>false</ns0:consumesArtifacts> false
      isEncrypted: false
   <ns0:producesArtifacts>false</ns0:producesArtifacts> - name: FDGIT_INP_SPARSE_CHECKOUT_FOLDERS
      value:
  <ns0:PluginInputs>      isExpression: false
      isEncrypted: false
<ns0:PluginInput>    outputs: []
    userInputs: []
    userOutputs: []
- <ns0:Name>FDGIT_INP_INSTANCE_CODE</ns0:Name>
              id: '3'
  name: Copy downloaded files to Git Repository
  type: INVOKE_PLUGIN
  data:
   <ns0:ValueType>Text</ns0:ValueType>
 pluginName: FlexagonFilePlugin
    pluginOperation: copy
    endpointInstanceOverride:
      <ns0isExpression:Encrypted>false</ns0:Encrypted> false
    consumesArtifacts: false
    producesArtifacts: false
     <ns1:Type>String</ns1:Type>endpointSelection:
      choice: All
    endpointExecution:
      <ns0:Text>GIT1</ns0choice:Text> Any
      stopOnError: false
      </ns0inputs:PluginInput>
    - name: FDFILE_INP_FILE_FILTER
        <ns0value:PluginInput>
        value: '*.ldt'
        <ns0:Name>FDGIT_INP_DEST_SUBFOLDER</ns0:Name>
isExpression: false
      isEncrypted: false
    -     <ns0:ValueType>Text</ns0:ValueType>
name: FDFILE_INP_FILE_FILTER_EXCLUDED
      value:
          <ns0:Encrypted>false</ns0:Encrypted>
isExpression: false
      isEncrypted: false
    -     <ns1:Type>String</ns1:Type>name: FDFILE_INP_SOURCE_PATH
      value:
        value: FD_TEMP_DIR
   <ns0:Text>../ebsldtfiles</ns0:Text>     isExpression: true
         </ns0:PluginInput>
isEncrypted: false
    - name: FDFILE_INP_TARGET_PATH
       <ns0value:PluginInput>
        value: FD_TEMP_DIR    + '/../ebsldtfiles'
    <ns0:Name>FDGIT_INP_BRANCH</ns0:Name>    isExpression: true
      isEncrypted: false
    - <ns0name:ValueType>Expression</ns0:ValueType>
 FDFILE_INP_CLEAN_DIRECTORY
      value:
          <ns0:Encrypted>false</ns0:Encrypted>
value: 'false'
        isExpression: false
       <ns1:Type>String</ns1:Type>
isEncrypted: false
    outputs: []
    userInputs: []
     <ns0userOutputs:Value> []
- id: '4'
  name: Add any new Files
  type: INVOKE_PLUGIN
  data:
    <ns0:Expression>FDBLD_STREAM_NAME</ns0:Expression>
pluginName: FlexagonGITPlugin
    pluginOperation: add
    endpointInstanceOverride:
      </ns0isExpression:Value> false
    consumesArtifacts: false
    producesArtifacts: false
  </ns0:PluginInput>  endpointSelection:
      choice: All
     <ns0endpointExecution:PluginInput>
      choice: Any
      stopOnError: false
    inputs:
   <ns0:Name>FDGIT - name: FDGIT_INP_DEPTH</ns0:Name>INSTANCE_CODE
      value:
        value: GIT1
  <ns0:ValueType>Text</ns0:ValueType>      isExpression: false
      isEncrypted: false
   <ns0:Encrypted>false</ns0:Encrypted> - name: FDGIT_INP_DEST_SUBFOLDER
      value:
        <ns1value:Type>Integer</ns1:Type> ../ebsldtfiles
        isExpression: false
        <ns0:Text>1</ns0:Text>
isEncrypted: false
    - name: FDGIT_INP_FILELIST
       </ns0value:PluginInput>
        value: --all  .
   <ns0:PluginInput>     isExpression: false
      isEncrypted: false
    <ns0:Name>FDGIT_INP_SPARSE_CHECKOUT_FOLDERS</ns0:Name>
outputs: []
    userInputs: []
    userOutputs: []
- id: '5'
  <ns0:ValueType>Text</ns0:ValueType>
name: Commit to Git
  type: INVOKE_PLUGIN
  data:
    pluginName: FlexagonGITPlugin
    <ns0pluginOperation:Encrypted>false</ns0:Encrypted> commit
    endpointInstanceOverride:
      isExpression: false
    <ns1consumesArtifacts:Type>String</ns1:Type> false
    producesArtifacts: false
    endpointSelection:
   </ns0:PluginInput>   choice: All
    endpointExecution:
   </ns0:PluginInputs>   choice: Any
      stopOnError: false
<ns0:UserInputs/>    inputs:
    - name: FDGIT_INP_INSTANCE_CODE
  <ns0:PluginOutputs/>    value:
        <ns0value:UserOutputs/> GIT1
        </ns0:InvokePlugin>isExpression: false
      </ns0isEncrypted:Step> false
    - <ns0:Step>name: FDGIT_INP_DEST_SUBFOLDER
      value:
  <ns1:Name>Copy  downloaded files to Git Repository</ns1value:Name> ../ebsldtfiles
        <ns1isExpression:StepId>3</ns1:StepId> false
      isEncrypted: false
<ns0:InvokePlugin>    - name: FDGIT_INP_NAME
      <ns0:PluginName>FlexagonFilePlugin</ns0:PluginName>value:
        value: FD_WF_USER
   <ns0:PluginOperation>copy</ns0:PluginOperation>     isExpression: true
      <ns0:consumesArtifacts>false</ns0isEncrypted:consumesArtifacts> false
    - name: FDGIT_INP_EMAIL
    <ns0:producesArtifacts>false</ns0:producesArtifacts>  value:
        value:  <ns0:EndpointSelection>FD_WF_USER_EMAIL
        isExpression: true
      <ns0isEncrypted:EndpointSelectionChoice>All</ns0:EndpointSelectionChoice> false
    - name: FDGIT_INP_REVISION_MESSAGE
    </ns0:EndpointSelection>  value:
          <ns0:EndpointExecutionChoice>Any</ns0:EndpointExecutionChoice>
  value: new ldt files
         <ns0isExpression:PluginInputs> false
      isEncrypted: false
      <ns0outputs:PluginInput> []
    userInputs: []
    userOutputs: []
- id: '6'
  <ns0:Name>FDFILE_INP_FILE_FILTER</ns0:Name>
   name: Push to Central Repository
  type: INVOKE_PLUGIN
  data:
       <ns0:ValueType>Text</ns0:ValueType>
pluginName: FlexagonGITPlugin
    pluginOperation: push
    endpointInstanceOverride:
      <ns0isExpression:Encrypted>false</ns0:Encrypted> false
    consumesArtifacts: false
    producesArtifacts: false
     <ns1:Type>String</ns1:Type>endpointSelection:
      choice: All
    endpointExecution:
      <ns0:Text>*.ldt</ns0:Text>choice: Any
      stopOnError: false
    inputs:
    - </ns0:PluginInput>name: FDGIT_INP_INSTANCE_CODE
      value:
        <ns0value:PluginInput> GIT1
        isExpression: false
       <ns0:Name>FDFILEisEncrypted: false
    - name: FDGIT_INP_FILE_FILTER_EXCLUDED</ns0:Name>DEST_SUBFOLDER
      value:
        value: ../ebsldtfiles
  <ns0:ValueType>Text</ns0:ValueType>      isExpression: false
      isEncrypted: false
   <ns0:Encrypted>false</ns0:Encrypted> - name: FDGIT_INP_FOLLOW_TAGS
      value:
        <ns1:Type>String</ns1:Type>value: 'false'
               </ns0:PluginInput>
isExpression: false
              <ns0:PluginInput>
isEncrypted: false
                 <ns0:Name>FDFILE_INP_SOURCE_PATH</ns0:Name>
                  <ns0:ValueType>Expression</ns0:ValueType>
                  <ns0:Encrypted>false</ns0:Encrypted>
                  <ns1:Type>String</ns1:Type>
                  <ns0:Value>
                     <ns0:Expression>FD_TEMP_DIR</ns0:Expression>
                  </ns0:Value>
               </ns0:PluginInput>
               <ns0:PluginInput>
                  <ns0:Name>FDFILE_INP_TARGET_PATH</ns0:Name>
                  <ns0:ValueType>Expression</ns0:ValueType>
                  <ns0:Encrypted>false</ns0:Encrypted>
                  <ns1:Type>String</ns1:Type>
                  <ns0:Value>
                     <ns0:Expression>FD_TEMP_DIR + '/../ebsldtfiles'</ns0:Expression>
                  </ns0:Value>
               </ns0:PluginInput>
               <ns0:PluginInput>
                  <ns0:Name>FDFILE_INP_CLEAN_DIRECTORY</ns0:Name>
                  <ns0:ValueType>Text</ns0:ValueType>
                  <ns0:Encrypted>false</ns0:Encrypted>
                  <ns1:Type>Boolean</ns1:Type>
                  <ns0:Text>false</ns0:Text>
               </ns0:PluginInput>
            </ns0:PluginInputs>
            <ns0:UserInputs/>
            <ns0:PluginOutputs/>
            <ns0:UserOutputs/>
         </ns0:InvokePlugin>
      </ns0:Step>
      <ns0:Step>
         <ns1:Name>Add any new Files</ns1:Name>
         <ns1:StepId>4</ns1:StepId>
         <ns0:InvokePlugin>
            <ns0:PluginName>FlexagonGITPlugin</ns0:PluginName>
            <ns0:PluginOperation>add</ns0:PluginOperation>
            <ns0:consumesArtifacts>false</ns0:consumesArtifacts>
            <ns0:producesArtifacts>false</ns0:producesArtifacts>
            <ns0:PluginInputs>
               <ns0:PluginInput>
                  <ns0:Name>FDGIT_INP_INSTANCE_CODE</ns0:Name>
                  <ns0:ValueType>Text</ns0:ValueType>
                  <ns0:Encrypted>false</ns0:Encrypted>
                  <ns1:Type>String</ns1:Type>
                  <ns0:Text>GIT1</ns0:Text>
               </ns0:PluginInput>
               <ns0:PluginInput>
                  <ns0:Name>FDGIT_INP_DEST_SUBFOLDER</ns0:Name>
                  <ns0:ValueType>Text</ns0:ValueType>
                  <ns0:Encrypted>false</ns0:Encrypted>
                  <ns1:Type>String</ns1:Type>
                  <ns0:Text>../ebsldtfiles</ns0:Text>
               </ns0:PluginInput>
               <ns0:PluginInput>
                  <ns0:Name>FDGIT_INP_FILELIST</ns0:Name>
                  <ns0:ValueType>Text</ns0:ValueType>
                  <ns0:Encrypted>false</ns0:Encrypted>
                  <ns1:Type>String</ns1:Type>
                  <ns0:Text>--all .</ns0:Text>
               </ns0:PluginInput>
            </ns0:PluginInputs>
            <ns0:UserInputs/>
            <ns0:PluginOutputs/>
            <ns0:UserOutputs/>
         </ns0:InvokePlugin>
      </ns0:Step>
      <ns0:Step>
         <ns1:Name>Commit to Git</ns1:Name>
         <ns1:StepId>5</ns1:StepId>
         <ns0:InvokePlugin>
            <ns0:PluginName>FlexagonGITPlugin</ns0:PluginName>
            <ns0:PluginOperation>commit</ns0:PluginOperation>
            <ns0:consumesArtifacts>false</ns0:consumesArtifacts>
            <ns0:producesArtifacts>false</ns0:producesArtifacts>
            <ns0:PluginInputs>
               <ns0:PluginInput>
                  <ns0:Name>FDGIT_INP_INSTANCE_CODE</ns0:Name>
                  <ns0:ValueType>Text</ns0:ValueType>
                  <ns0:Encrypted>false</ns0:Encrypted>
                  <ns1:Type>String</ns1:Type>
                  <ns0:Text>GIT1</ns0:Text>
               </ns0:PluginInput>
               <ns0:PluginInput>
                  <ns0:Name>FDGIT_INP_DEST_SUBFOLDER</ns0:Name>
                  <ns0:ValueType>Text</ns0:ValueType>
                  <ns0:Encrypted>false</ns0:Encrypted>
                  <ns1:Type>String</ns1:Type>
                  <ns0:Text>../ebsldtfiles</ns0:Text>
               </ns0:PluginInput>
               <ns0:PluginInput>
                  <ns0:Name>FDGIT_INP_NAME</ns0:Name>
                  <ns0:ValueType>Expression</ns0:ValueType>
                  <ns0:Encrypted>false</ns0:Encrypted>
                  <ns1:Type>String</ns1:Type>
                  <ns0:Value>
                     <ns0:Expression>FD_WF_USER</ns0:Expression>
                  </ns0:Value>
               </ns0:PluginInput>
               <ns0:PluginInput>
                  <ns0:Name>FDGIT_INP_EMAIL</ns0:Name>
                  <ns0:ValueType>Expression</ns0:ValueType>
                  <ns0:Encrypted>false</ns0:Encrypted>
                  <ns1:Type>String</ns1:Type>
                  <ns0:Value>
                     <ns0:Expression>FD_WF_USER_EMAIL</ns0:Expression>
                  </ns0:Value>
               </ns0:PluginInput>
               <ns0:PluginInput>
                  <ns0:Name>FDGIT_INP_REVISION_MESSAGE</ns0:Name>
                  <ns0:ValueType>Text</ns0:ValueType>
                  <ns0:Encrypted>false</ns0:Encrypted>
                  <ns1:Type>String</ns1:Type>
                  <ns0:Text>new ldt files</ns0:Text>
               </ns0:PluginInput>
            </ns0:PluginInputs>
            <ns0:UserInputs/>
            <ns0:PluginOutputs/>
            <ns0:UserOutputs/>
         </ns0:InvokePlugin>
      </ns0:Step>
      <ns0:Step>
         <ns1:Name>Push to Central Repository</ns1:Name>
         <ns1:StepId>6</ns1:StepId>
         <ns0:InvokePlugin>
            <ns0:PluginName>FlexagonGITPlugin</ns0:PluginName>
            <ns0:PluginOperation>push</ns0:PluginOperation>
            <ns0:consumesArtifacts>false</ns0:consumesArtifacts>
            <ns0:producesArtifacts>false</ns0:producesArtifacts>
            <ns0:PluginInputs>
               <ns0:PluginInput>
                  <ns0:Name>FDGIT_INP_INSTANCE_CODE</ns0:Name>
                  <ns0:ValueType>Text</ns0:ValueType>
                  <ns0:Encrypted>false</ns0:Encrypted>
                  <ns1:Type>String</ns1:Type>
                  <ns0:Text>GIT1</ns0:Text>
               </ns0:PluginInput>
               <ns0:PluginInput>
                  <ns0:Name>FDGIT_INP_DEST_SUBFOLDER</ns0:Name>
                  <ns0:ValueType>Text</ns0:ValueType>
                  <ns0:Encrypted>false</ns0:Encrypted>
                  <ns1:Type>String</ns1:Type>
                  <ns0:Text>../ebsldtfiles</ns0:Text>
               </ns0:PluginInput>
               <ns0:PluginInput>
                  <ns0:Name>FDGIT_INP_FOLLOW_TAGS</ns0:Name>
                  <ns0:ValueType>Text</ns0:ValueType>
                  <ns0:Encrypted>false</ns0:Encrypted>
                  <ns1:Type>Boolean</ns1:Type>
                  <ns0:Text>false</ns0:Text>
               </ns0:PluginInput>
            </ns0:PluginInputs>
            <ns0:UserInputs/>
            <ns0:PluginOutputs/>
            <ns0:UserOutputs/>
         </ns0:InvokePlugin>
      </ns0:Step>
   </ns0:Steps>
</ns0:WorkFlow>

Next step is to setup Topology. If you have not yet created EBS instance, you should follow FlexDeploy EBS Getting Started guide to create EBS Instance. Then make sure to associate Extract LDT workflow with your EBS Instance and Save it. See below. This step will happen on Topology page. (Topology - Instances - select EBS Instance - click Workflows).

...

outputs: []
    userInputs: []
    userOutputs: []

Now that we have Workflow and Topology setup completed, last step is create Project for execution. We will create Extract LDT to GIT project. You can create this project in any application of your choice. Make sure to give name that makes sense to you, select Partial Deployments, and select EBS as Project Type.

...