forked from huginn/huginn
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
9 changed files
with
146 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,8 @@ | ||
load 'deploy' | ||
load 'config/deploy' | ||
# Load DSL and set up stages | ||
require 'capistrano/setup' | ||
# Include default deployment tasks | ||
require 'capistrano/deploy' | ||
|
||
require 'capistrano/bundler' | ||
require 'capistrano/rails/assets' | ||
require 'capistrano/rails/migrations' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,54 @@ | ||
require 'dotenv' | ||
Dotenv.load | ||
|
||
# config valid only for current version of Capistrano | ||
lock '3.4.0' | ||
|
||
set :application, 'huginn' | ||
set :repo_url, ENV['CAPISTRANO_DEPLOY_REPO_URL'] || 'https://github.com/cantino/huginn.git' | ||
|
||
# Default branch is :master | ||
set :branch, ENV['BRANCH'] || 'master' | ||
|
||
set :deploy_to, '/home/huginn' | ||
|
||
# Set to :debug for verbose ouput | ||
set :log_level, :info | ||
|
||
# Default value for :linked_files is [] | ||
set :linked_files, fetch(:linked_files, []).push('.env', 'Procfile', 'config/unicorn.rb') | ||
|
||
# Default value for linked_dirs is [] | ||
set :linked_dirs, fetch(:linked_dirs, []).push('log', 'tmp/pids', 'tmp/cache', 'tmp/sockets', 'vendor/bundle') | ||
|
||
# Default value for keep_releases is 5 | ||
# set :keep_releases, 5 | ||
|
||
set :bundle_jobs, 4 | ||
|
||
set :conditionally_migrate, true # Defaults to false. If true, it's skip migration if files in db/migrate not modified | ||
|
||
task :deploy => [:production] | ||
|
||
namespace :deploy do | ||
after 'check:make_linked_dirs', :migrate_to_cap do | ||
on roles(:all) do | ||
# Try to migrate from the manual installation to capistrano directory structure | ||
next if test('[ -L ~/huginn ]') | ||
fetch(:linked_files).each do |f| | ||
if !test("[ -f ~/shared/#{f} ] ") && test("[ -f ~/huginn/#{f} ]") | ||
execute("cp ~/huginn/#{f} ~/shared/#{f}") | ||
end | ||
end | ||
execute('mv ~/huginn ~/huginn.manual') | ||
execute('ln -s ~/current ~/huginn') | ||
end | ||
end | ||
after :publishing, :restart do | ||
on roles(:all) do | ||
within release_path do | ||
execute :rake, 'production:restart' | ||
end | ||
end | ||
end | ||
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
server ENV['CAPISTRANO_DEPLOY_SERVER'], user: ENV['CAPISTRANO_DEPLOY_USER'] || 'huginn', roles: %w{app db web} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
# Deploy updates via Capistrano | ||
|
||
After you followed the [manual installation guide](installation.md) it is simple to push updates to your huginn instance using capistrano. | ||
|
||
### 1. Ensure you have SSH access to your server via the huginn user | ||
|
||
Either set a password for the huginn user or add your public SSH key: | ||
|
||
# Set password | ||
sudo passwd huginn | ||
|
||
# Or add a SSH key | ||
sudo -u huginn -H mkdir -p /home/huginn/.ssh | ||
sudo -u huginn -H editor /home/huginn/.ssh/authorized_keys | ||
sudo -u huginn -H chmod -R 700 /home/huginn/.ssh | ||
|
||
### 2. Configure Capistrano on your local machine | ||
|
||
Add Capistrano configuration to you local `.env`: | ||
|
||
CAPISTRANO_DEPLOY_SERVER=<IP or FQDN of your server> | ||
CAPISTRANO_DEPLOY_USER=huginn | ||
CAPISTRANO_DEPLOY_REPO_URL=https://github.com/cantino/huginn.git | ||
|
||
|
||
### 3. Run Capistrano | ||
|
||
You can now run Capistrano and update your server: | ||
|
||
cap production deploy | ||
|
||
If you want to deploy a different branch, pass it as environment variable: | ||
|
||
cap production deploy BRANCH=awesome-feature | ||
|
||
### Changes to remote .env and Procfile | ||
|
||
If you want to change the `.env`, `Procfile` or `config/unicorn.rb` of your installation you still need to do it on your server, do not forget to export the init scripts after your are done: | ||
|
||
cd /home/huginn/huginn | ||
# Whichever you want to change | ||
sudo -u huginn -H editor Procfile | ||
sudo -u huginn -H editor .env | ||
sudo -u huginn -H editor config/unicorn.rb | ||
# Export init scripts and restart huginn | ||
sudo rake production:export | ||
|