AppBuilder::Rails
Generate application to be deployed and upload to s3 (or deploy server).
Installation
Add this line to your application's Gemfile:
gem "app_builder-rails"
And then execute:
$ bundle install
$ bundle exec rails generate app_builder:install
Adds following files:
config/deploy/environment.yml
config/deploy/templates/manifest.yml.erb
lib/tasks/deploy.rake
Usage
Build source and upload to S3:
$ APP_ENV=develop TARGET_BRANCH=develop bundle exec rails deploy:prepare
INFO 2018-01-01 12:00:00.000000 9999 Execute command [local]: mkdir -p /var/tmp/project /var/tmp/project/archive/20180101120000 /var/tmp/project/build/20180101120000
INFO 2018-01-01 12:00:00.000000 9999 Execute command [local]: git remote update (with: {:chdir=>"/var/tmp/project/repo"})
INFO 2018-01-01 12:00:00.000000 9999 Execute command [local]: git archive develop | tar -x -C /var/tmp/project/archive/20180101120000 (with: {:chdir=>"/var/tmp/project/repo"})
INFO 2018-01-01 12:00:00.000000 9999 Create revision: {"branch"=>"develop", "revision"=>"0123456789abcdef0123456789abcdef0123456"}
INFO 2018-01-01 12:00:00.000000 9999 Execute command [local]: tar zcf /var/tmp/project/build/20180101120000/20180101120000.tar.gz . (with: {:chdir=>"/var/tmp/project/archive/20180101120000"})
INFO 2018-01-01 12:00:00.000000 9999 Uploaded /var/tmp/project/build/20180101120000/20180101120000.tar.gz to s3://dev-source-example-com/assets/20180101120000.tar.gz
INFO 2018-01-01 12:00:00.000000 9999 Uploaded /var/tmp/project/build/20180101120000/20180101120000.yml to s3://dev-source-example-com/manifests/20180101120000.yml
And then deploy with stretcher in target server:
$ ssh target-server
$ echo s3://dev-source-example-com/manifests/20180101120000.yml | stretcher
Development
After checking out the repo, run bin/setup
to install dependencies. Then, run rake test
to run the tests. You can also run bin/console
for an interactive prompt that will allow you to experiment.
To install this gem onto your local machine, run bundle exec rake install
. To release a new version, update the version number in version.rb
, and then run bundle exec rake release
, which will create a git tag for the version, push git commits and tags, and push the .gem
file to rubygems.org.
Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/i2bskn/app_builder-rails.
License
The gem is available as open source under the terms of the MIT License.