Skip to content

Latest commit

 

History

History
23 lines (22 loc) · 1.51 KB

pipelines.md

File metadata and controls

23 lines (22 loc) · 1.51 KB
  1. Within this git repository, there is a file called pipelines.gocd.yaml. The full syntax capabilities of that file can be found in Tomasz Sętkowski's Go-CD Yaml Plugin Repo

  2. The pipelines.gocd.yaml file is where all Lambda function CI/CD pipelines are defined. Each pipeline definition includes linting, unit testing, code coverage, dev deployments, test deployments, and production deployments.

  3. Whenever you add a new Lambda function, it is not necessary to copy the entire pipeline defintion. Each pipeline definiton instance can use the first definition as a template using standard YAML Anchoring capabilities. For example, if you wanted to add a new Lambda function called smilesAndFun you would append the following contents at the same indentation of previous pipelines:

     smilesAndFun:
       group: lambda
       label_template: "${smilesAndFun[:8]}"
       environment_variables:
         FUNCTION_NAME: smilesAndFun
       materials:
         smilesAndFun:
           git: https://github.com/C0k3/session
           branch: development
           whitelist:
           - lambda_functions/smilesAndFun/**/*.*
           - lib/**.*
           - "*.js"
           - "*.json"
           - "*.opts"
           - "*.yml"
           - "*.yaml"
       stages: *stages
    
  4. The new pipeline will be added to the Go-CD server when the updated pipelines.gocd.yaml file is pushed to the repository.