Grunt-shell сохранить вывод команды как переменную
Я использую Grunt и Grunt-shell для создания / развертывания моего проекта Javascript.
Я хочу получить последний номер git-commit и сохранить его как переменную, но не могу понять, как это сделать. Я попытался выполнить обратный вызов и установить глобальную переменную. Эта переменная может использоваться внутри функции, но не из другого блока, кажется
grunt.initConfig({
...
shell: {
getGitCommitNo: {
command: 'git rev-parse --short HEAD',
options: {
callback: function (err, stdout, stderr, cb) {
global['gitCommitNo'] = stdout;
grunt.log.ok(global.gitCommitNo);
cb();
}
}
},
philTest: {
command: 'echo Git Commit No: ' + global.gitCommitNo
},
...
}
выход:
>> Starting deployment process for version 1.1 in dev environment
Running "shell:getGitCommitNo" (shell) task
bfc82a9
>> bfc82a9
Running "shell:printTest" (shell) task
Git Commit No: undefined
Done, without errors.
может кто-нибудь подсказать, как я могу сохранить вывод командной строки переменной можно использовать?
1 ответов
обнаружил, что я действительно могу сделать это, используя переменную конфигурации (вместо глобальной) внутри обратного вызова. (Примечание ниже строка также удаляет новую строку).
grunt.config.set('gitCommitNo', stdout.replace('\n', ''));
тогда это можно получить с помощью:
<%=gitCommitNo%>