• Stars
    star
    117
  • Rank 301,828 (Top 6 %)
  • Language
    Ruby
  • Created almost 17 years ago
  • Updated about 10 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Engine Yard specific capistrano recipes

eycap Build Status

Description

The Engine Yard capistrano tasks are for use specifically with Engine Yard Managed services. But can be used as examples for building other tasks as well.

Requirements

  • Capistrano >= 2.2.0

  • NOTE: When using a git repository use Capistrano >= 2.5.3.

Install

Use your Gemfile and bundler to both document and install the eycap gem to your application. We also recommend the following gems to be configured along side eycap. Add these to your Gemfile:

group :development, :test do
  gem 'eycap', :require => false
  gem 'capistrano', '~> 2.15'
  gem 'net-ssh', '~> 2.7.0'
end

Then run bundle install to install the eycap and other gem(s).

$ bundle install

Then in your deploy.rb file you'll need to add the following require statement to the begininng of the file:

require "eycap/recipes"

Usage

Configuration

Your initial deploy.rb will be provided for you when your servers are provisioned on Engine Yard Managed. In order to deploy your application, you can go to the RAILS_ROOT folder and run:

$ capify .

This generates the Capfile and the config/deploy.rb file for you. You'll replace the config/deploy.rb file with the deploy.rb given to you by Engine Yard.

For deploying Rails 3.1 or greater apps using the asset pipeline read more on the linked page.

Setup restart server

Mongrel is the default server, to override this default you'll need to define the following in your deploy.rb file:

namespace :deploy do

  task :restart, :roles => :app do
    # mongrel.restart
  end


  task :spinner, :roles => :app do
    # mongrel.start
  end


  task :start, :roles => :app do
    # mongrel.start
  end    
  

  task :stop, :roles => :app do
    # mongrel.stop
  end
  
end

Replace the commented out with your server (passenger, unicorn, thin, puma, etc.) and then it will override the default of mongrel.

Deploying to Environment

To ensure your environments are ready to deploy, check on staging.

$ cap staging deploy:check

This will determine if all requirements are met to deploy. Sometimes if the default folders are not setup you may be able to repair by running:

$ cap staging deploy:setup

If you cannot get deploy:check to pass, please open a new support ticket and let us know.

Now you're ready to do a test deploy.

Optionally, cap deploy:cold will run your migrations and start (instead of restart) your app server.

$ cap staging deploy:cold

Or if you have already dumped a copy of your data to staging or do not want to run migrations you can simply do a deploy.

$ cap staging deploy

And to do all this on production, just change the environment name and you'll be all set.

$ cap production deploy

Eycap Commands

For a list of all available commands, run:

$ cap -T

This will show you not only the default capistrano commands but also the ones you get by including the eycap gem.

Custom binaries path

In rare cases (unicorn / sphinx) it is required to set custom path for binaries when using development versions of scripts. It is as easy as:

set :engineyard_bin, "/engineyard/custom"

The default is /engineyard/bin and is just fine in normal deployment.

Pull Requests

If you'd like to contribute to the eycap gem please create a fork, then send a pull request and a member of the eycap team will review it.

Issues

When you run into a problem please check the issues to see if one has been reported. If not, please report the issue and we'll get to work on fixing it.

License

Copyright (c) Engine Yard

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

More Repositories

1

ey-cloud-recipes

A starter repo for custom chef recipes on EY's cloud platform. These are for reference, and do not indicate a supported status.
HTML
989
star
2

rails_metrics

Engine for tracking various metrics related to a Rails 3 application
Ruby
253
star
3

vertebra

Top-level repository with the entire vertebra distribution
Shell
161
star
4

engineyard

Deploy to Engine Yard Cloud from the command line
Ruby
131
star
5

rails_dev_directory

Rails Development Directory
Ruby
129
star
6

todo

Basic Rails GTD app (now a Rails 4.2 app!)
HTML
113
star
7

ey-php-performance-tools

Engine Yard PHP Performance Tools
PHP
100
star
8

natter

Erlang XMPP Client
Erlang
76
star
9

engineyard-serverside

This gem deploys your application on Engine Yard Cloud.
Ruby
61
star
10

vertebra-rb

XMPP agent framework
Ruby
59
star
11

onefilerailsapp

A mini-Rails embeddable instant poll application
Ruby
52
star
12

vertebra-xen

Vertebra actor and runner for controlling xen instances
Ruby
47
star
13

vertebra-gem

Gem handler for vertebra
Ruby
45
star
14

mongrel

Engine Yard fork of mongrel
Ruby
44
star
15

vertebra-ref

Documentation for Vertebra
JavaScript
43
star
16

kubernetes-workshop

Tutorials for learning Kubernetes, tailored to Ruby on Rails developers
Ruby
43
star
17

engineyard-theme

A theme-in-a-gem for Engine Yard websites
Ruby
38
star
18

vertebra-erl

Vertebra Erlang Pieces
Erlang
34
star
19

ey-docs

Engine Yard Docs
JavaScript
29
star
20

user_impersonate

Allow your support staff to impersonate users to see what they see
Ruby
28
star
21

engineyard-jenkins

This project is deprecated in favour of eycloud-app-jenkins.
Ruby
28
star
22

engineyard-migrate

Migrate up to Engine Yard Cloud from Heroku or similar.
Ruby
26
star
23

realweb

Easily runs a rack app for tests that hit web APIs
Ruby
24
star
24

sous_chef

bash scripts with chef like syntax
Ruby
19
star
25

ey-cookbooks-stable-v5

Ruby
18
star
26

chat

Sample Node.js App for Engine Yard Cloud
CSS
18
star
27

ardm

Use Datamapper DSL on top of ActiveRecord
Ruby
14
star
28

eycloud-app-jenkins

EY Cloud application to install and run Jenkins
Shell
13
star
29

rails_metrics_example

An example Rails 3 application using the rails3-app-metrics plugin
JavaScript
12
star
30

deploy_day_app

Everyone's own business as a Rails app. Ready to be deployed.
JavaScript
12
star
31

resque-unique-job

A resque plugin for unique jobs
Ruby
11
star
32

magento-ce-1.9

Magento 1.9 Community Edition with the latest-available patches applied
PHP
11
star
33

rails-2.2.2-app

Ruby
10
star
34

ey_config

Engine Yard Configuration helper
Ruby
9
star
35

engineyard-recipes

Tools to generate, upload, test and apply chef recipes for Engine Yard Cloud.
Ruby
9
star
36

ey-cloud-recipes-chef-10

A starter repo for custom chef recipes on EY's cloud platform. These are for reference, and do not indicate a supported status.
Ruby
8
star
37

services-docs

8
star
38

php-composer

Package management for dependency management in PHP
Shell
8
star
39

engineyard-cloud-client

EY Cloud API Client
Ruby
8
star
40

rack-app

Ruby
7
star
41

node-simple-example

JavaScript
7
star
42

ey-cookbooks-stable-v6

HTML
6
star
43

ey-cookbooks-stable-v7

HTML
6
star
44

offline-blog

This is an example of using rack-offline
Ruby
6
star
45

engineyard-serverside-adapter

Adapter for speaking to engineyard-serverside
Ruby
6
star
46

nanomart-oss

Simple application to practice refactoring.
Ruby
5
star
47

gittip-collab

Simple Gittip collaboration tool for teams
Python
5
star
48

magento-ce-1.8

Magento 1.8 Community Edition with the latest-available patches applied
PHP
4
star
49

khaines_blog_code_examples

Repo to hold the code examples for Kirk's various blog articles.
Ruby
4
star
50

fragrant

HTTP(Vagrant)
Ruby
4
star
51

core-client-rb

Engine Yard Core API Ruby client
Ruby
4
star
52

node-websockets-example

JavaScript
4
star
53

ey_services_api

gem for Partners to talk to the Services API
Ruby
4
star
54

chronatog

third party api integration service example
Ruby
4
star
55

railsconf2016-webservers

Master repo for everything that will go into my Railsconf 2016 workshop
HTML
3
star
56

ruby-quiz

A sample quiz application written using Ruby-on-Rails
Ruby
3
star
57

jenkins_holding_page

The "Almost there..." page when setting up Jenkins CI on AppCloud
JavaScript
3
star
58

tutorialapp

Ruby
3
star
59

system-timer19

support SystemTimer or native timeout methods in 1.8 and 1.9
Ruby
3
star
60

rack-idempotent

rack-idempotent
Ruby
3
star
61

ey_api_hmac

Ruby
3
star
62

todophp

The EY App in PHP / Lithium
PHP
3
star
63

ey_config.node

Engine Yard Configuration helper for Node.js
CoffeeScript
3
star
64

engineyard.tmbundle

Ruby
3
star
65

simplecov-s3

Merge simplecov outputs using S3 as shared storage (and publish the results as html to S3)
Ruby
3
star
66

eydr

EY Disaster Recovery Recipes (Unsupported)
Ruby
3
star
67

eycloud-recipe-sidekiq

Sidekiq recipe for EY Cloud
Ruby
3
star
68

engineyard-dns

Configure your Engine Yard AppCloud environment and your DNSimple domain
Ruby
3
star
69

orchestra-beerapi

PHP
2
star
70

ey_services_fake

A fake for tests against ey_services_api
Ruby
2
star
71

appcloud-for-chrome-webstore

The manifest + assets for a Hosted App on the Chrome WebStore
Ruby
2
star
72

todo-bloggy

Our Todo App with the Bloggy gem added to show how easy it is to add a jekyll blog to your rails app!
Ruby
2
star
73

rails31-testapp

Ruby
2
star
74

ey-docker-recipes

Ruby
2
star
75

rails-dispatch-week-8-plugins

Ruby
2
star
76

async

Yet another background processing abstraction layer
Ruby
2
star
77

sputnik-demo

a demo php app
PHP
2
star
78

ey_sample

Engine Yard Sample Application
Ruby
2
star
79

simple-repctl

Demo to administer MySQL replication with many MySQL servers on "localhost".
Ruby
2
star
80

sphero

fun with spheros
Ruby
2
star
81

RubyConf

Notes from RubyConf 2011
2
star
82

dynect

EngineYard's Dynect REST API Client
Ruby
2
star
83

datafabric-example

Ruby
2
star
84

todo_with_newrelic

Ruby
2
star
85

ey_yaml_persister

Java
1
star
86

Landing

Landing Page for PHP leads
Ruby
1
star
87

emrubyconf

EventMachine Ruby Conf
Ruby
1
star
88

Katana

API for Samurai CLI to use with EYMOT
Ruby
1
star
89

Engine-Yard-Cloud-Recipes.tmbundle

1
star
90

todo-dbcharmer

test app for multiple dbs
Ruby
1
star
91

eycloud-helper-common

Common helpers for EY Cloud recipes
Ruby
1
star
92

todo_31

Todo app in Rails 3.1
Ruby
1
star
93

ey-v5-starterkit

Shell
1
star
94

php-ioncube-loader

Debian source packaging for ionCube Loader.
C++
1
star
95

node-coffee-script

CoffeeScript
1
star
96

todo_padrino

Sinatra singing Todo
Ruby
1
star
97

tf_sendgrid_test

Ruby
1
star
98

figroll

Simple universal ENV configuration
Ruby
1
star
99

erroneous-api

API to the Erroneous PaaS (Panda's as a Service)
Ruby
1
star
100

mongo_test

Ruby
1
star