Javascript 部署前正在运行任务的Shippitjs
在shippitjs将它们同步到服务器之前,我尝试在本地“构建所有东西”。然而,我不知道如何让它等到我的bower和composer任务完成后再部署Javascript 部署前正在运行任务的Shippitjs,javascript,deployment,Javascript,Deployment,在shippitjs将它们同步到服务器之前,我尝试在本地“构建所有东西”。然而,我不知道如何让它等到我的bower和composer任务完成后再部署 require('shipit-deploy')(shipit); require('shipit-shared')(shipit); /* config ... */ shipit.task('composer:install', function() { return shipit.local('composer --install
require('shipit-deploy')(shipit);
require('shipit-shared')(shipit);
/* config ... */
shipit.task('composer:install', function() {
return shipit.local('composer --install --optimize --prefer-dist ', {cwd:shipit.config.workspace});
});
shipit.task('bower:install', function() {
return shipit.local('bower install', {cwd:shipit.config.workspace});
});
shipit.on('fetched',function(){
shipit.start('composer:install','bower:install');
});
我最终在bower完成之前部署了代码。老问题,但它仍然有用。您可以尝试以下方法:
require('shipit-deploy')(shipit);
require('shipit-shared')(shipit);
/* config ... */
shipit.task('composer:install', function() {
return shipit.local('composer --install --optimize --prefer-dist ', {cwd:shipit.config.workspace});
return shipit.emit('bower_install');
});
shipit.task('bower:install', function() {
shipit.local('bower install', {cwd:shipit.config.workspace});
return shipit.emit('deploy');
});
shipit.on('bower_install', function() {
return shipit.start('bower:install');
})
shipit.on('predeploy',function(){
shipit.start('composer:install');
})
shipit.on('deploy',function(){
shipit.start('deploy:init');
})
此解决方案在启动部署之前等待任务bower:install和composer:install完成。旧问题是的,但新堆栈中会有许多用于请求的示例 我用ShipitJS而不是Capistrano制作了一个WordPress开发堆栈,因为我不习惯使用Ruby。也许这会有帮助。如果需要,可以使用它和/或发布一些问题。问候
:您将在此处看到,我正在使用
this.async()
作为第二个参数,它应该可以解决您的问题。事件predeploy
如何在此处触发?