Skip to content

Create mix bootleg.init command which sets up basic/example config structure #117

@brienw

Description

@brienw

mix bootleg.init could create a basic template version of config/deploy.exs

use Bootleg.Config

# Configure the following roles to match your environment.
# `build` defines what remote server your distillery release should be built on.
# `app` defines what remote servers your distillery release should be deployed and managed on.
#
# Some available options are:
#  - `user`: ssh username to use for SSH authentication to the role's hosts
#  - `password`: password to be used for SSH authentication
#  - `identity`: local path to an identity file that will be used for SSH authentication instead of a password
#  - `workspace`: remote file system path to be used for building and deploying this Elixir project

role :build, "build.example.com", workspace: "/tmp/bootleg/build"
role :app, ["app1.example.com", "app2.example.com"], workspace: "/var/app/example"

# Phoenix has some extra build steps which can be defined as task after the compile step runs.
#
# Uncomment the following task definition if this is a Phoenix application. To learn more about 
# hooks and adding additional behavior to your deploy workflow, please refer to the bootleg 
# README which can be found at https://github.com/labzero/bootleg/blob/master/README.md

# after_task :compile do
#   remote :build do
#     "[ -f package.json ] && npm install || true"
#     "[ -f brunch-config.js ] && [ -d node_modules ] && ./node_modules/brunch/bin/brunch b -p || true"
#     "[ -d deps/phoenix ] && mix phoenix.digest || true"
#   end
# end

In addition to the creation of the template config, perhaps we can print out some basic bootleg command usage information

Metadata

Metadata

Assignees

Labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions