github.com/dahs81/otto@v0.2.1-0.20160126165905-6400716cf085/website/source/docs/apps/custom/deploy/index.html.md (about) 1 --- 2 layout: "app_custom" 3 page_title: "Build & Deploy - Custom App Type" 4 sidebar_current: "docs-custom-deploy" 5 description: |- 6 "Custom" application types use Packer and Terraform to build and deploy. 7 --- 8 9 # Build & Deploy 10 11 "Custom" application type build & deploy processes are defined with 12 [customizations](/docs/apps/custom/customization.html) and use 13 Packer and Terraform. 14 15 -> **NOTE:** This page documents the "custom" application type. Theres are 16 different from [application type plugins](/docs/plugins/app.html) which 17 are a way to introduce new application types to Otto. 18 19 Both "build" and "deploy" customizations are optional. If neither are 20 specified, then Otto will not be able to build or deploy your application. 21 If only one is specified, it will only be able to do one of those operations. 22 23 ## Example 24 25 ``` 26 application { 27 name = "my-app" 28 type = "custom" 29 } 30 31 customization "build" { 32 packer = "./template.json" 33 } 34 35 customization "deploy" { 36 terraform = "./tf-module" 37 } 38 ``` 39 40 ## Build 41 42 When `otto build` is called, Otto will execute Packer against the 43 given Packer template. Artifacts will be stored in the 44 [directory](/docs/concepts/directory.html) and will be passed in via 45 variables to the deploy step. 46 47 ## Deploy 48 49 When `otto deploy` is called, Otto will execute the configured Terraform 50 module. Any stored credentials from the infrastructure as well as outputs 51 will be passed in as Terraform variables. 52 53 If you specified a build step, then the artifact information will also 54 be passed in via Terraform variables. The exact variables that are 55 passed in are not yet documented, but will be soon.