2015-09-06 1 views
0

Я использую Grunt.js для просмотра файлов js и scss, которые скомпилируют их main.js и main.css при сохранении. Все это прекрасно работает.Смотреть файл и автоматически загружать файл на удаленный сервер PHP Storm

Досадно, хотя, чтобы увидеть изменения отражены на моем сервере, мне нужно вручную перейти к main.js и main.css файлов на локальный каталог, щелкните правой кнопкой мыши и выберите upload to ... мой удаленный сервер.

Это довольно уродливый удар в моем гладком рабочем процессе.

Возможно ли установить задачу, если PHP Storm или Grunt.js автоматически загружают эти файлы, если и когда они изменены?

+0

Возможно, поскольку вы можете запускать любую программу с помощью Grunt (помните, что хрюкать - это просто обычное приложение node.js). Но сначала вы должны попробовать, это очень неопределенный вопрос. – doldt

+0

Вы также можете использовать phing или любой другой инструмент сборки для его автоматизации. – m02ph3u5

ответ

0

Существует задача, называемая grunt-ftp-deploy, которую вы можете настроить для загрузки любых файлов на сервер. В основном это было бы что-то вроде

'ftp-deploy': { 
    build: { 
    auth: { 
     host: 'yourserver', 
     port: 21, 
     authKey: 'key' 
    }, 
    src: 'dist/', 
    dest: '/path/to/destination/folder', 
    exclusions: !['path/to/dist/main.js', 'path/to/dist/main.js'] 
    } 
} 

Это исключает все файлы, кроме тех, которые вы хотите загрузить. Вам также необходимо создать файл с именем .ftppass, которые содержат FTP-учетные данные, как это:

{ 
    "key": { 
    "username": "username1", 
    "password": "password1" 
    } 
} 

Не забудьте добавить этот файл на .gitignore, потому что FTP информация чувствительна.

Теперь вы можете добавить задачу ftp-deploy до конца вашей задачи сборки, как это:

grunt.registerTask('build', [ 
    'clean:dist', 
    ... 
    'ftp-deploy' 
    ]); 

, но этот подход будет загружать файлы каждый раз, когда вы делаете сборку. Вы также можете запустить эту задачу вручную с терминала с помощью grunt ftp-deploy.

Существует очень похожая задача, называемая grunt-sftp-deploy на всякий случай, когда вы используете sftp.

Смежные вопросы