shell
  • teamcity
  • 2016-11-07 12 views 0 likes 
    0

    シナリオを更新された値を格納しません。私が行くと、パラメータの値を見るとチームシティーsetParameterを恒久的パラメータで

    export current_build_date_format="+%%Y-%%m-%%d" 
    export current_build_date="$(date $current_build_date_format)" 
    echo "##teamcity[setParameter name='latestDeploymentDate' value='$current_build_date']" 
    

    私は、次のステップで​​をエコー、それが正しく、インスタンス'2016-11-07'

    のために出力します。しかし:

    は、私は、スクリプトを設定していますTeamcityの価値はまだ当初のものです。

    build agentのスクリプトをTeamcityとしてnot on the same serverとして実行しています。これが私がこの行動を起こす理由かもしれませんか?または'setParameter'は恒久的に保管するつもりはないですか?事前に

    おかげで

    答えて

    0

    それはecho "##teamcity[setParameter name='parmname' value='value']"のみビルド手順を実行後、値はまだ同じであることを、意味の「メモリの」パラメータを設定していることがわかります。

    代わりに、パラメータを永久に更新するには、TeamcityのREST APIを使用する必要があります。

    REST APIを使用するには、呼び出し時にビルドスクリプトから使用できるユーザーアカウントが必要です。ここで

    は、ユーザー名/パスワードを使用して、パラメータを更新する方法の例です:

    個人的に
    export current_build_date="$(date +%%Y-%%m-%%d" "%%H:%%M)" 
    curl -v --request PUT -d "$current_build_date" --Header "Content-Type: text/plain" http://username:[email protected]/httpAuth/app/rest/projects/your-build-configuration-id/parameters/latestDeploymentDate 
    

    、私は、ビルド構成のユーザー名/パスワードを持っ好きではありません。しかし、それをTCエージェントで設定することは可能です。そうする必要はありません。

    関連する問題