Low commit activity in last 3 years
No release in over a year
A transport plugin of capistrano-net_storage to deploy application via Amazon S3.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
 Dependencies

Development

>= 0
>= 0

Runtime

 Project Readme

Gem Version Test

Capistrano::NetStorage::S3

Capistrano::NetStorage::S3 is a transport plugin of Capistrano::NetStorage to deploy application via Amazon S3. And Capistrano::NetStorage is a plugin of Capistrano.

Installation

Add this line to your application's Gemfile:

gem 'capistrano-net_storage-s3', require: false

And then execute:

$ bundle

Or install it yourself as:

$ gem install capistrano-net_storage-s3

Configuration

Set Capistrano variables by set name, value.

General Settings

Name Default Description
:net_storage_transport NO DEFAULT Set Capistrano::NetStorage::S3::Transport
:net_storage_s3_bucket NO DEFAULT S3 bucket name (e.g. "your-bucket-name" )
:net_storage_s3_archives_directory "/" Directory for application archives in S3 bucket

Settings for AWS

Name Default Description
:net_storage_s3_aws_access_key_id ENV['AWS_ACCESS_KEY_ID'] AWS Access Key ID
:net_storage_s3_aws_secret_access_key ENV['AWS_SECRET_ACCESS_KEY'] AWS Secret Access Key
:net_storage_s3_aws_session_token ENV['AWS_SESSION_TOKEN'] AWS Session Token
:net_storage_s3_aws_region ENV['AWS_DEFAULT_REGION'] AWS Region
:net_storage_s3_aws_profile ENV['AWS_DEFAULT_PROFILE'] AWS Profile
:net_storage_s3_aws_config_file ENV['AWS_CONFIG_FILE'] AWS Config File

Other Settings

NOTE: We strongly recommend the defaults for integrity and performance. Change at your own risk.

Name Default Description
:net_storage_s3_max_retry 3 Max retry to download from S3 to each servers

See also the configuration section of Capistrano::NetStorage.

Usage

Edit Capfile:

# Load DSL and Setup Up Stages
require 'capistrano/setup'

# Includes default deployment tasks
require 'capistrano/deploy'

# Includes tasks from other gems included in your Gemfile
require "capistrano/net_storage/plugin"
install_plugin Capistrano::NetStorage::Plugin

# Load transport plugin for Capistrano::NetStorage
require 'capistrano/net_storage/s3'

Edit your config/deploy.rb:

set :net_storage_transport, Capistrano::NetStorage::S3::Transport
set :net_storage_config_files, Pathname('path/to/config').glob('*.yml')

# These settings upload archives to s3://bucket-for-deployment/api/#{sha1_hash}.tar.gz
set :net_storage_s3_bucket, 'bucket-for-deployment'
set :net_storage_s3_archives_directory 'api'

set :net_storage_s3_aws_config_file, '~/.aws/config'
# set :net_storage_s3_aws_profile, 'some-name' # If you are using multiple profiles

License

Available as open source under the terms of the MIT License.

Copyright (c) 2017 DeNA Co., Ltd., IKEDA Kiyoshi