ftp-deploy

그런트 모듈중에서 ftp 업로드가 필요할때 사용하면 됩니다.
제가 일하는 환경에서는 sublimetext 의 sftp 이용해서 코딩하다가 저장하면 바로 업로드되게 해놨는데, 서버에 있는 파일을 수정하는 경우는 일일이 업로드해야하는 불편이 있었습니다.
그래서 업로드를 자동으로 해줄수 있는 모듈을 찾다가 ftp-deploy 가 있어서 소개합니다.

사용목적

빌드하거나 watch 했을때 자동으로 서버로 업로드를 해준다.

저장소 : https://github.com/zonak/grunt-ftp-deploy

기본 옵션과 설명을 저장소를 참고하시기 바랍니다.

제가 사용하는 gruntfile.js 코드는 이렇습니다.

'ftp-deploy': {
    build: {
        auth: {
            host: 'demun.tistory.com',         // 서버의 IP주소
            port: 2100,                     // 포트번호
            authKey: 'key1'                 // 인증 키
        },
        src: 'css/',                         // 소스 위치
        dest: 'test/css',                     // 대상위치(서버의 폴더를 말한다)
        exclusions: [                         // 제외하고 싶은 폴더나 파일
            'China/**/*',
            'common/**/*',
            'test/**/*',
            'userFiles/**/*'
        ]
    }
},

한가지 더 테스트를 등록해줘야 한다.

grunt.loadNpmTasks('grunt-ftp-deploy');

여기서 자세히 보시면 인증키라는것이 있습니다. authKey 는 해당루트폴더 즉, gruntfile.js 가 있는 폴더에 .ftppass 라는 파일명으로 있어야 합니다.

내용은 아이디와 비밀번호 입니다.

{
  "key1": {
    "username": "id",
    "password": "password"
  }
}

이렇게 설정한 후 사용하면 watch 나 grunt 로 빌드했을때 자동으로 해당파일을 서버로 업로드해서 일일이 업로드를 하지 않아도 됩니다.