forked from
mackuba.eu/sdk.blue
A curated list of libraries & SDKs for the Bluesky API and AT Protocol
1# TODO: migrate to capistrano3 bundler integration
2require 'bundler/capistrano'
3set :bundle_dir, ''
4set :bundle_flags, '--quiet'
5set :bundle_without, []
6
7set :application, "sdk.blue"
8set :repository, "https://github.com/mackuba/sdk.blue.git"
9set :scm, :git
10set :keep_releases, 10
11set :use_sudo, false
12set :deploy_to, "/var/www/sdk.blue"
13set :deploy_via, :remote_cache
14set :public_children, []
15
16server "blue.mackuba.eu", :app, :web, :db, :primary => true
17
18before 'bundle:install', 'deploy:set_bundler_options'
19
20after 'deploy:update_code', 'deploy:link_shared'
21before 'deploy:create_symlink', 'deploy:build'
22after 'deploy', 'deploy:cleanup'
23
24namespace :deploy do
25 task :set_bundler_options do
26 run "cd #{release_path} && bundle config set --local deployment 'true'"
27 run "cd #{release_path} && bundle config set --local path '#{shared_path}/bundle'"
28 run "cd #{release_path} && bundle config set --local without 'development test'"
29 end
30
31 task :link_shared do
32 run "mkdir -p #{release_path}/config"
33 run "ln -s #{shared_path}/auth.yml #{release_path}/config/auth.yml"
34 run "ln -s #{shared_path}/metadata.yml #{release_path}/_data/metadata.yml"
35 run "ln -s #{shared_path}/repos #{release_path}/tmp/repos"
36 end
37
38 task :build do
39 run "cd #{release_path} && RACK_ENV=production bundle exec jekyll build"
40 end
41
42 task :migrate do
43 end
44
45 task :fetch_metadata do
46 run "export RACK_ENV=production; cd #{current_path} && bundle exec rake fetch_metadata && bundle exec jekyll build"
47 end
48
49 task :with_fetch do
50 update_code
51
52 run "cd #{release_path} && RACK_ENV=production bundle exec rake fetch_metadata"
53
54 create_symlink
55 cleanup
56 end
57end