技術

【Grunt】楽々デプロイ(grunt-rsync)

投稿日:2015年8月31日 更新日:

どうも、中田です。

gruntでアプリをデプロイするときにどうやったらいいかぁ〜って調べてたら
こんなの見つけました。

grunt-rsync

rsyncとはご存知unixのミラーリングコマンド
cpとは違って削除ファイルも同期してくれるのがありがたい。

gruntでビルドしたディレクトリを同期対象にしちゃえば楽チンですね。

という訳で作業メモを残しておきます。

前提

・送信側、受信側両方にrsyncが入っている
・送信元から受信側へのssh鍵認証ができていること(.ssh/config設定)

grunt-syncのインストール

作業ディレクトリに移動してnpmでインストールします

npm install grunt-rsync --save-dev

Gruntfile.js ファイル編集

Gruntfileに初期設定とタスクの設定をします

module.exports = function(grunt) {
    grunt.initConfig({
        rsync: {
            dryrun: {
                options: {
                    src: "./dist/*",  // 送信元のディレクトリ
                    dest: "~/app",  // 受信側側のディレクトリ
                    host: "[.ssh/configの設定ホスト]",
                    recursive: true,
                    compareMode: "checksum",
                    syncDestIgnoreExcl: true,
                    dryRun: true,
                    exclude:[ ".git*","*.scss" ]
                }
            },
            deploy: {
                options: {
                    src: "./dist/*",  // 送信元のディレクトリ
                    dest: "~/app",  // 受信側側のディレクトリ
                    host: "[.ssh/configの設定ホスト]",
                    recursive: true,
                    compareMode: "checksum",
                    syncDestIgnoreExcl: true,
                    exclude:[ ".git*","*.scss" ]
                }
            }
        }
    });
    grunt.loadNpmTasks('grunt-rsync');

    grunt.registerTask('dry', ['rsync:dryrun']);
    grunt.registerTask('deploy', ['rsync:deploy']);
};

では、実行!!!
grunt deploy

リモートサーバに適用されることを確認できたら大成功!
これは楽ですね。

感謝サイト
http://kanonji.info/blog/2013/08/19/grunt-rsyncとgrunt-watchを使って開発サーバーをローカルと同期/

-技術

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

関連記事

no image

AWS CLIでInvalidSignatureException Error

ECRにイメージをpushするために、dockerログインしようとして遭遇しまし …

【AWS】VMWareからAWSへサーバ移設

どうも中田です。 今回はVMWareからAWSへのマイグレーションに関するお話。 …

no image

[Rails]if文とcontent_for

こんばんは content_for便利ですよね。 今回はcontent_forと …

no image

【Rails】productionモードでCSSの画像が表示されない

どうも中田です。 css内で画像を設定して、productionモードで動かすと …

no image

auto_incrementの値を確認して変更

こんにちは、コーテッグのこやまです。 railsとmysqlを使っていて、自動で …