Skip to content

Commit

Permalink
Replace TravisCI with CircleCI
Browse files Browse the repository at this point in the history
This is the result of two
discussions on our research board.
The first was to replace Travis with CircleCI:
https://trello.com/c/Se4mELMh/199-hosted-ci-for-continuous-deployment

A few reasons we've enjoyed using Circle:

* Faster builds due to parallel builds
* Built in bundle caching
* Easy deployment
* Really easy setup
* The ability to ssh
  into the CI server during a test run.
  This has been great
  when debugging a test failure.
  It's not something you use a lot
  but it is so great when you need it.
* A free plan for private repos that supports small MVPS

This also adds automatic deployment
to staging when the build passes.
This is the result of this discussion:
https://trello.com/c/Se4mELMh/199-hosted-ci-for-continuous-deployment

A few reasons for those who don't have access to the trello card:

* Part of the CI now is whether or not you can actually deploy successfully.
  If you merge to master,
  it will automatically try and deploy to staging.
  If that fails,
  your build will actually fail.
  This should be treated
  with the same urgency that any other failing build
  on master would be treated.
* Staging is always up to date.
  This makes it really nice for verifying stories for clients.
* Automate more things!
  • Loading branch information
drapergeek committed Jul 24, 2015
1 parent 972d7e0 commit ac3924d
Show file tree
Hide file tree
Showing 5 changed files with 13 additions and 26 deletions.
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ Suspenders also comes with:
* [t() and l() in specs without prefixing with I18n][i18n]
* An automatically-created `SECRET_KEY_BASE` environment variable in all
environments
* Configuration for [Travis][travis] Continuous Integration (tests)
* Configuration for [CircleCI][circle] Continuous Integration (tests)
* Configuration for [Hound][hound] Continuous Integration (style)
* The analytics adapter [Segment][segment] (and therefore config for Google
Analytics, Intercom, Facebook Ads, Twitter Ads, etc.)
Expand All @@ -107,7 +107,7 @@ Suspenders also comes with:
[pool]: https://devcenter.heroku.com/articles/concurrency-and-database-connections
[binstub]: https://github.com/thoughtbot/suspenders/pull/282
[i18n]: https://github.com/thoughtbot/suspenders/pull/304
[travis]: http://docs.travis-ci.com/user/travis-pro/
[circle]: https://circleci.com/docs
[hound]: https://houndci.com
[segment]: https://segment.com

Expand Down
4 changes: 2 additions & 2 deletions lib/suspenders/app_builder.rb
Original file line number Diff line number Diff line change
Expand Up @@ -209,8 +209,8 @@ def configure_rspec
copy_file "spec_helper.rb", "spec/spec_helper.rb"
end

def configure_travis
template 'travis.yml.erb', '.travis.yml'
def configure_ci
template "circle.yml.erb", "circle.yml"
end

def configure_i18n_for_test_environment
Expand Down
2 changes: 1 addition & 1 deletion lib/suspenders/generators/app_generator.rb
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ def setup_test_environment
build :configure_background_jobs_for_rspec
build :enable_database_cleaner
build :configure_spec_support_features
build :configure_travis
build :configure_ci
build :configure_i18n_for_test_environment
build :configure_i18n_tasks
build :configure_action_mailer_in_specs
Expand Down
8 changes: 8 additions & 0 deletions templates/circle.yml.erb
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
test:
override:
- bundle exec rake
deployment:
staging:
branch: master
commands:
- bin/deploy staging
21 changes: 0 additions & 21 deletions templates/travis.yml.erb

This file was deleted.

0 comments on commit ac3924d

Please sign in to comment.