Javascript 部署前正在运行任务的Shippitjs

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

在shippitjs将它们同步到服务器之前,我尝试在本地“构建所有东西”。然而,我不知道如何让它等到我的bower和composer任务完成后再部署

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
如何在此处触发?