2

別の ant スクリプト「build.xml」を使用して、Linux プラットフォーム「runme.sh」(sudo ユーザーとして実行可能) でスクリプトを実行する必要があります。これで、teamcity からこの build.xml を実行しました。

私はすべてのコードを持っていますが、チームシティのbuild.xmlでsudoを使用して「runme.sh」を呼び出しているときに遭遇しました。

build.xml には次のようなコードがあります

    <exec dir="${installdir}" executable="/bin/sh">
        <arg line="-c 'sudo ./runme.sh'"/>
        <redirector inputstring="sudopassword"/>        
    </exec>

チームシティで、「[exec] sudo: 申し訳ありませんが、sudo を実行するには tty が必要です」というエラーが表示されます。

誰かがこのエラーを解決するのを手伝ってくれますか?

前もって感謝します

4

1 に答える 1

2

requirettyお使いのマシンには、オプションが有効になっているsudoが設定されています。このオプションを無効にすることもできますが、セキュリティホールが発生します。より良い解決策は、su --session-command代わりに使用することです。詳細な説明については、このリンクを参照してください。

于 2012-07-30T22:16:45.330 に答える