Help us understand the problem. What is going on with this article?

バックエンドアプリ用のgulp-skeletonをつくった

More than 5 years have passed since last update.

今時あんまやらないと思うけど、やんごとなき事情からローカルファイルをサーバに同期して開発したかったので、gulp-rsyncを使ったファイル同期用のgulpfileをつくった。

構成

src以下にアプリを突っ込んで同期する。

.
├── gulp_config.json
├── gulpfile.coffee
├── node_modules/
├── package.json
└── src/

gulpfile.coffee

'use strict'

gulp    = require 'gulp'
rsync   = require 'gulp-rsync'
plumber = require 'gulp-plumber'

config = require './gulp_config.json'

gulp.task 'deploy', ->
  gulp
  .src 'src/**'
  .pipe plumber()
  .pipe rsync
    root: 'src' # コピー元ディレクトリ
    hostname: config.rsync.dst.host    # コピー先ホスト名
    destination: config.rsync.dst.path # コピー先ディレクトリ
    progress: true  # 転送情報を表示
    recursive: true # 再帰的にディレクトリを走査
    compress: true  # 圧縮する
    clean: true     # コピー先に存在しないファイルを削除
    exclude: [      # 除外ファイル
      '.git'
      '.gitignore'
      'node_modules'
    ]
  .on 'error', (message) ->
    console.log 'deploy Error', message

gulp.task 'watch', ->
  gulp.watch 'src/**', ['deploy']

gulp.task 'default', ['deploy']

gulp_config.jsonにサーバの設定書いておく感じ。.gitignoreでリポジトリから弾いてる。

{
  "rsync": {
    "dst": {
      "host": "{同期先サーバのホスト名}",
      "path": "{/path/to/directory/}"
    }
  }
}

ギッハブ

clngn/backend_gulp_skeleton

clngn
cluster-inc
誰もがバーチャル上で音楽ライブ、カンファレンスなどのイベントに参加したり、友達と常設ワールドやゲームで遊ぶことのできる「バーチャルSNS」を展開しています。スマホやPC、VRといった好きなデバイスから数万人が同時に接続することができ、バーチャルで"集まる"体験を再定義し、全く新しいエンタメと熱狂体験を提供し続けています。
https://cluster.mu
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away