rubySSHクライアントたくさん並べてペーストしまくるのが許されるのは小学生までだよねと言ってみたかっただけです。Capistranoでサーバ構築を省力化する方法を紹介します。サーバ構築の自動化といえばChefやPuppetが有名ですが、CapistranoはサーバにSSH接続さえできれば利用できるメリットがあります。データセンタに持ち込むノートPCにCapistranoを仕込んでおけば便利なツールになるし、短期間に検証用のサーバを構築する場合も有用なツールになるでしょう。Capistranoはデプロイツールとして使われることが多いですが、サーバ構築にも有用です。CapistranoはRubyで書かれたツールで、複数のサーバにSSH接続してコマンドを実行できます。同様のツールとしてexpectがありますが、CapistranoのスクリプトはRubyの内部DSLなので書きやすく拡張性があります。標準ではRailsのデプロイタスクが用意されており、自分でタスク(レシピ)を簡単に追加できます。XでCapistranoを使う方が何かと便利ですが、Windowsでも使えます。ロクな環境がなくても大丈夫です。Railsコマンドプロンプトを開き、以下を実行します。capistranoこれで完了です。管理対象サーバの準備CapistranoがSSH接続するユーザを作成します。chpasswdもしくは、普段利用している一般ユーザでも構いません。sudoが使えるようにしておきましょう。wheelに入れるなど。パスワード認証の場合はCapistranoのレシピに平文パスワードを書くことになります。Windows上のCapistranoで公開鍵認証が使えるかどうか分かりません。変なレシピを書いて失敗した時に被害を最小限に留められるよう、一般ユーザをおすすめします。サーバ間でパスフレーズ無し公開鍵認証できるようにしておくと、scpが使えるようになって便利です。ユーザができたら簡単なレシピを実行してみます。以下の内容をCapfileという名前で保存します。-a"end基本的にはrunの後にコマンドを書くだけで各サーバで実行してくれます。コマンドプロンプトで以下を実行してみましょう。各サーバのカーネルバージョンが表示されたら成功です。off'end上記では設定ファイルをばらまく時にscpを使っていますが、本当はSCMで管理する方が望ましいでしょう。数ヶ月しか使わないサーバ*1なら前者で十分ですし、環境整備にどこまで時間を投資できるかに依存する話ですね。現場には不毛な作業が溢れているかもしれません。単純作業はなるべく自動化して、空いた時間でブクマ三昧な日々を送りましょう勉強しましょう。単純作業のために人件費を使うよりはいいと思います。*1:短期間に多くのサーバが必要になるならEC2を使うべきと思うけど、そうはいかないんだよね。MachineはDockerホストを構築するためのツールです。Requestを作成する2020-01-20アプリケーションの開発フローとGitOpsArchivesSearchはてなブログをはじめよう!int128さんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。