Skip to content

Instantly share code, notes, and snippets.

@chiastolite
Last active October 16, 2018 02:04
Show Gist options
  • Save chiastolite/4380378 to your computer and use it in GitHub Desktop.
Save chiastolite/4380378 to your computer and use it in GitHub Desktop.
Capistranoでファイルをアップロードする

Capistranoを使ってファイルをアップロードしてみる

Capistranoのインストール

gem install capistrano

OS標準のRubyを使ったりする場合は、gem の前にsudoが必要かも

実行方法

cap config:up

load 'config/deploy'
# アップロード先ホストの情報
role :web, "update_hosts"
# アップロードが複数ある場合は下記のように複数指定も可能
# role :web, "server1", "server2", "server3'
# リモートサーバでsudo時にパスワードを入力できるように
default_run_options[:pty] = true
namespace :config do
task :up do
# etcのパーミッション変更
sudo "chmod 777 /etc"
# アップロード
# 第一引数はローカルのファイルへのパス
# 第二引数はリモートのファイルへのパス
upload('./hoge', '/etc/hogehogehoge')
# アップロードしたファイルのユーザーを変更
sudo 'chown root:root /etc/hogehogehoge'
# etcのパーミッション変更
sudo 'chmod 755 /etc'
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment