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.