在Grunt任务中建议部署路径

时间:2016-04-22 14:57:53

标签: gruntjs webstorm

我有一个Grunt任务,可以在webserver上自动部署我的webapp。 在我的网络服务器上,我有3条路径:

  • / www / myApp(production)
  • /网络/ myApp_rc

我有package.json个文件

{
 ...
  "ftpDeployPath":"myApp_rc"   //or /www/myApp
...
}

这是我的任务

{'ftp-deploy': {
                toMyServer: {
                    auth: {
                        host: '10.7.88.87',
                        port: 21,
                        authKey: 'key1'
                    },

                    src: 'deploy',
                    dest: '<%= pkg.ftpDeployPath %>',
                    forceVerbose: true
                }
            }

}

当我想要部署时,每次我必须检查并最终编辑package.json文件。 有没有办法显示提示(bu grunt控制台)以允许我选择正确的部署路径?

2 个答案:

答案 0 :(得分:1)

您可以尝试使用grunt-prompt任务&#39;输入&#39;问题类型和你的&#34; ftpDeployPath&#34; as&#39; config&#39;。或者,修改您的gruntfile以使用命令行选项(http://gruntjs.com/frequently-asked-questions#dynamic-alias-tasks)并将您的任务作为外部工具从WebStorm(设置|工具|外部工具)运行 - 您可以将$ Prompt $ macro添加到工具参数以获取提示运行工具时的选项值

答案 1 :(得分:0)

使用命令行参数和自定义任务的组合,您可以在运行任务之前修改任务的配置。首先,通过修改dist的模板字符串开始;更改它以访问名为grunt.option()的{​​{1}}参数,我们的自定义任务将设置:

deployPath

接下来,制作一个设置grunt.initConfig({ 'ftp-deploy': { toMyServer: { auth: { host: '10.7.88.87', port: 21, authKey: 'key1' }, src: 'deploy', dest: '<%= grunt.option('deployPath') %>', forceVerbose: true } } }); 参数的自定义任务。运行grunt.option('deployPath')时,以下任务会将deployPath设置为myApp。如果仅运行grunt deploy:prod,则路径设置为grunt deploy。选择路径后,自定义然后调用myApp_rc任务:

ftp-deploy