UNPKG

ci-auto-deploy

Version:

Automatic Deployment for Continuous Delivery Pipelines

174 lines (146 loc) 6.92 kB
--- # Amazon Web Services Deployment Configurations cloudProvider/: aws: defaults: activeCname: ${current.application.name}-${current.environment.name}-active # AWS Elasticbeanstalk EB Tool Configurations platform/: awsElasticbeanstalkEb: defaults: inherit|: ${current.cloudProvider.defaults} create: configFile$: ${args.launchFile} launch$: single-private-server disableLines: [.env] ebignoreContent: - '*' - '!${args.buildPath}/**' - '!${args.packageFile}' - '!server.js' environment/: # STAGING ENVIRONMENT CONFIGURATIONS staging: defaults: inherit|: ${current.platform.defaults} tokenFile: ${args.secretsPath}/.staging_tokens.yaml envConfigFile: ${args.envPath}/env_config.yaml prompt: password create: launch$: single-private-server group: all: [myApi1, myApi2] application/: myApi1: defaults: inherit|: ${current.environment.defaults} env: appName$: ${current.application.name} envName$: ${current.environment.name}.${appName$} # envName$ results in 'environment.<environmentName>.application.myApi1' # variable name ending with $ sign makes it temporary # If you would like to start with a seperate env file, move this part and multi environment config part below, to application defaults for each app seperately. # environmentFile$: ${args.envPath}/.env.myApi1.staging # Start with reading specified env file # readEnv|: ${environmentFile$} # Evaluate multi environment config file and get leaf with name specified by envName$ readYaml|: ${envConfigFile},${envName$},{tokenFile:\ ${tokenFile},appName:\ ${appName$}} # App Configurations configuration/: # Default Configuration default: inherit|: ${current.application.defaults} create: readYaml|: ${configFile$},${launch$} # readYml function reads yml file as first argument and # returns value of key that is passed as second argument envvars: - API_PATH=${env.API_PATH} - API_ENDPOINT=${env.API_ENDPOINT} # High Security Configuration highSecurity: inherit|: ${current.application.defaults} create: vpc: securitygroups: [sg-#hash2] myApi2: defaults: inherit|: ${current.environment.defaults} env: appName$: ${current.application.name} envName$: ${current.environment.name}.${appName$} readYaml|: ${envConfigFile},${envName$},{tokenFile:\ ${tokenFile},appName:\ ${appName$}} # App Configurations configuration/: onOut|: ${checkVariables} # Default Configuration default: inherit|: ${current.application.defaults} launch$: vpc-private-server create: readYaml|: ${configFile$},${launch$} # High Security Configuration highSecurity: inherit|: ${current.application.defaults} create: vpc: securitygroups: [sg-#hash2] # PRODUCTION ENVIRONMENT CONFIGURATIONS production: defaults: inherit|: ${current.platform.defaults} tokenFile: ${args.secretsPath}/.production_tokens.yaml envConfigFile: ${args.envPath}/env_config.yaml accessProfile: cirplus-production prompt: password create: launch$: vpc-private-cluster buildRun: true buildDeploy: true group: all: [myApi1, myApi2] application/: myApi1: defaults: inherit|: ${current.environment.defaults} env: appName$: ${current.application.name} envName$: ${current.environment.name}.${appName$} readYaml|: ${envConfigFile},${envName$},{tokenFile:\ ${tokenFile},appName:\ ${appName$}} # App Configurations configuration/: # Default Configuration default: inherit|: ${current.application.defaults} create: readYaml|: ${configFile$},${launch$} envvars: - API_PATH=${env.API_PATH} - API_ENDPOINT=${env.API_ENDPOINT} # High Security Configuration highSecurity: inherit|: ${current.application.defaults} create: vpc: securitygroups: [sg-#hash2] myApi2: defaults: inherit|: ${current.environment.defaults} env: appName$: ${current.application.name} envName$: ${current.environment.name}.${appName$} readYaml|: ${envConfigFile},${envName$},{tokenFile:\ ${tokenFile},appName:\ ${appName$}} # App Configurations configuration/: onOut|: ${checkVariables} # Default Configuration default: inherit|: ${current.application.defaults} launch$: vpc-private-server create: readYaml|: ${configFile$},${launch$} # High Security Configuration highSecurity: inherit|: ${current.application.defaults} create: vpc: securitygroups: [sg-#hash2]