Skip to content

Commit

Permalink
reset ecoportal deploy scripts
Browse files Browse the repository at this point in the history
  • Loading branch information
syphax-bouazzouni committed Oct 31, 2024
1 parent e5167c1 commit 8a078dd
Show file tree
Hide file tree
Showing 4 changed files with 25 additions and 92 deletions.
53 changes: 12 additions & 41 deletions config/deploy.rb
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
set :author, "ontoportal-lirmm"
set :application, "ontologies_api"
set :repo_url, "https://github.com/#{fetch(:author)}/#{fetch(:application)}.git"
# config valid only for Capistrano 3

APP_PATH = '/srv/ontoportal'

Expand All @@ -13,7 +11,7 @@
# ask :branch, proc { `git rev-parse --abbrev-ref HEAD`.chomp }

# Default deploy_to directory is /var/www/my_app
set :deploy_to, "/srv/ontoportal/#{fetch(:application)}"
set :deploy_to, "#{APP_PATH}/#{fetch(:application)}"

# Default value for :scm is :git
# set :scm, :git
Expand All @@ -22,7 +20,7 @@
# set :format, :pretty

# Default value for :log_level is :debug
set :log_level, :error
# set :log_level, :debug

# Default value for :pty is false
# set :pty, true
Expand All @@ -47,39 +45,11 @@
# required for restarting unicorn with sudo
set :pty, true
# Default value for default_env is {}
# set :default_env, { path: "/opt/ruby/bin:$PATH" }
set :default_env, {
}

# Default value for keep_releases is 5
set :keep_releases, 5
set :config_folder_path, "#{fetch(:application)}/#{fetch(:stage)}"

# If you want to restart using `touch tmp/restart.txt`, add this to your config/deploy.rb:

SSH_JUMPHOST = ENV.include?('SSH_JUMPHOST') ? ENV['SSH_JUMPHOST'] : 'jumpbox.hostname.com'
SSH_JUMPHOST_USER = ENV.include?('SSH_JUMPHOST_USER') ? ENV['SSH_JUMPHOST_USER'] : 'username'

JUMPBOX_PROXY = "#{SSH_JUMPHOST_USER}@#{SSH_JUMPHOST}"
set :ssh_options, {
user: 'ontoportal',
forward_agent: 'true',
keys: %w(config/deploy_id_rsa),
auth_methods: %w(publickey),
# use ssh proxy if API servers are on a private network
proxy: Net::SSH::Proxy::Command.new("ssh #{JUMPBOX_PROXY} -W %h:%p")
}

# private git repo for configuraiton
PRIVATE_CONFIG_REPO = ENV.include?('PRIVATE_CONFIG_REPO') ? ENV['PRIVATE_CONFIG_REPO'] : 'https://[email protected]/your_organization/ontoportal-configs.git'
desc "Check if agent forwarding is working"
task :forwarding do
on roles(:all) do |h|
if test("env | grep SSH_AUTH_SOCK")
info "Agent forwarding is up to #{h}"
else
error "Agent forwarding is NOT up to #{h}"
end
end
end

# inspired by http://nathaniel.talbott.ws/blog/2013/03/14/post-deploy-smoke-tests/
desc 'Run smoke test'
Expand Down Expand Up @@ -107,17 +77,18 @@
end
end


namespace :deploy do

desc 'Incorporate the private repository content'
# Get cofiguration from repo if PRIVATE_CONFIG_REPO env var is set
# or get config from local directory if LOCAL_CONFIG_PATH env var is set
task :get_config do
if defined?(PRIVATE_CONFIG_REPO)
TMP_CONFIG_PATH = "/tmp/#{SecureRandom.hex(15)}".freeze
TMP_CONFIG_PATH = "/tmp/#{SecureRandom.hex(15)}"
on roles(:app) do
execute "git clone -q #{PRIVATE_CONFIG_REPO} #{TMP_CONFIG_PATH}"
execute "rsync -av #{TMP_CONFIG_PATH}/#{fetch(:config_folder_path)}/ #{release_path}/"
execute "rsync -av #{TMP_CONFIG_PATH}/#{fetch(:application)}/ #{release_path}/"
execute "rm -rf #{TMP_CONFIG_PATH}"
end
elsif defined?(LOCAL_CONFIG_PATH)
Expand All @@ -130,10 +101,10 @@
desc 'Restart application'
task :restart do
on roles(:app), in: :sequence, wait: 5 do
# Your restart mechanism here, for example:
# execute :touch, release_path.join('tmp/restart.txt')
execute 'sudo systemctl restart unicorn'
execute 'sleep 5'
# Your restart mechanism here, for example:
# execute :touch, release_path.join('tmp/restart.txt')
execute 'sudo systemctl restart unicorn'
execute 'sleep 5'
end
end

Expand Down
17 changes: 0 additions & 17 deletions config/deploy/agroportal.rb

This file was deleted.

17 changes: 0 additions & 17 deletions config/deploy/staging.rb

This file was deleted.

30 changes: 13 additions & 17 deletions config/deploy/test.rb
Original file line number Diff line number Diff line change
@@ -1,17 +1,13 @@
# Simple Role Syntax
# ==================
# Supports bulk-adding hosts to roles, the primary
# server in each group is considered to be the first
# unless any hosts have the primary property set.
# Don't declare `role :all`, it's a meta role
role :app, %w{testportal.lirmm.fr}
role :db, %w{testportal.lirmm.fr} # sufficient to run db:migrate only on one system
# Extended Server Syntax
# ======================
# This can be used to drop a more detailed server
# definition into the server list. The second argument
# something that quacks like a hash can be used to set
# extended properties on the server.
#server 'example.com', user: 'deploy', roles: %w{web app}, my_property: :my_value
set :log_level, :error
set :branch, ENV.include?('BRANCH') ? ENV['BRANCH'] : 'test'
set :branch, 'master'
set :server, 'ecoportal.lifewatchdev.eu'

server fetch(:server), user: fetch(:user), roles: %w{web app}

set :ssh_options, {
user: 'ontoportal',
forward_agent: 'true',
#keys: %w(config/deploy_id_rsa),
#auth_methods: %w(publickey),
# use ssh proxy if UI servers are on a private network
#proxy: Net::SSH::Proxy::Command.new('ssh [email protected] -W %h:%p')
}

0 comments on commit 8a078dd

Please sign in to comment.