在 Chef 工作站上,我使用命令 -
knife ssh 'name:myserver.org.com' -x myUserName -P myClearTextPassword "sudo chef-client"
这工作正常,提示输入我的 sudo 密码并在目标厨师节点上执行食谱。到目前为止,一切都很好。
现在,我正在尝试执行此操作,作为在 Windows 系统上运行的 ANT 脚本中的 Jenkins 作业中构建操作的一部分。ANT 脚本如下 -
<project name="MyProject" default="init" basedir=".">
<target name="init">
<property name="mypassword" value="myClearTextPassword" />
<echo message="Executing the knife script"/>
<exec executable="cmd" failonerror="true" inputstring="${mypassword}">
<arg line="/c knife ssh name:myserver.org.com -x myUserName -P myClearTextPassword sudo chef-client" />
</exec>
</target>
ANT 脚本在执行时会等待 SUDO 密码 -
C:\chef-repo>ant
Buildfile: C:\chef-repo\build.xml
init:
[echo] Executing the knife script
[exec] cwllx0001.hq.target.com knife sudo password:
我的目标是执行这个 ANT 脚本,这样它就不会等待 sudo 密码。我们有什么办法可以做到这一点?