pipeline {
environment { AWS_REGION = 'us-east-1' PROJECT_NAME = '<%= @name %>' VERSION = '0.1.0' } agent { docker { image 'theonestack/cfhighlander' } } stages {
<%- if @type == 'component' -%>
stage('cftest') { steps { sh 'cfndsl -u' sh "cfhighlander cftest -r xml" } post { always { junit 'reports/report.xml' } } } stage('cfn nag') { agent { docker { image 'base2/cfn-nag' reuseNode true } } steps { sh 'cfn_nag_scan -i out/tests' } }
<%- elsif @type == 'project' -%>
stage('Compile and validate templates') { steps { sh 'cfndsl -u' sh "cfcompile --validate" } } stage('cfn nag') { agent { docker { image 'base2/cfn-nag' reuseNode true } } steps { sh 'cfn_nag_scan -i out/yaml' } } stage('Publish templates') { steps { sh "cfpublish ${env.PROJECT_NAME} --version ${env.VERSION}" } }
<%- end -%>
}
}