На рабочей станции Chef я использую команду -
knife ssh 'name:myserver.org.com' -x myUserName -P myClearTextPassword "sudo chef-client"
Это работает нормально, запрашивает мой пароль sudo и выполняет поваренную книгу на целевом узле шеф-повара. Все идет нормально.
Теперь я пытаюсь сделать это как часть операции сборки в задании Jenkins в сценарии ANT, который работает в системе Windows. Сценарий 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>
The ANT script, when executed waits on the SUDO password -
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. Как мы можем достичь этого?