Woj*_*ski 5 cookbook chef-infra vagrant
如果我们有Chef菜谱代码,例如:
if !File.exists?('/vagrant/project/target/project/WEB-INF") || node[:compile_project]
bash "build project" do
user "vagrant"
cwd "/vagrant/project"
code <<-EOH
mvn clean
mvn db-migration:migrate
mvn package
EOH
end
end
Run Code Online (Sandbox Code Playgroud)
运行时,vagrant up我们只能看到执行"构建项目"的简要信息.
但是,我们从终端运行'mvn package'命令,我们可以看到完整的命令输出.如何告诉Vagrant/Chef显示完整输出?
编辑:
我试过这个,但输出没有任何改变.
config.vm.provision :chef_solo do |chef|
chef.log_level = :debug
Run Code Online (Sandbox Code Playgroud)
仅在以下情况下才将 bash/script/execute 资源执行输出打印到 stdout:
:debug请参阅代码chef/Mixin/ShellOut第 36 行。
使用时,似乎没有选项为 ssh 会话提供 TTY,因此解决方案是在为 Chefvagrant up设置日志级别后四处走动::debug
$ vagrant up$ vagrant ssh -- -t- 这意味着它传递-t给 ssh 命令,以便有一个用于 ssh 会话的 tty。chef-solo手动运行 Chef,然后您将在 stdout 上得到输出。