0

Jenkinsを使用して自動展開を実行しています。運用サーバーでは、展開ジョブを開始する前に承認が必要です。ただし、展開は午前12時にのみ実行される場合があります。Jenkinsリモートビルドスケジューラ

私は承認リンクにEメールを送信する場合、承認後、ジョブはすぐにをキックオフします。私が知っている唯一の方法は、リモートでのジョブをスケジュールし、&delay=30sec(または任意の時間)をURL引数として追加することです()。問題は、電子メールが送信されてからジョブが開始される12:00 AMまでの間に、別の補足ジョブを作成せずに、URLパラメータとして必要な遅延(秒)を決定して設定する方法です。これは承認された時間に依存します。

さらに良い方法がありますか?

+0

ご不明な点が多少あります。どのタイムスライスをジョブリモートトリガーに組み込むのですか? – agg3l

+0

ビルドが承認された時間に関係なく、ビルドを午前12:00に開始したい。例:誰かが午後2時30分にビルドをリクエストし、午後4時30分に電子メールで承認された場合は、次のモーニング午前12時にビルドを開始します。 –

+0

[Schedule Build Plugin](https://wiki.jenkins-ci.org/display/JENKINS/Schedule+Build+Plugin)を見てください。それはあなたが探していることができるかもしれません。 このSOのスレッドは私もいくつかのより多くの情報を提供しますhttp://stackoverflow.com/questions/35029486/how-can-i- schedule-a-job-to-run-in-the-future-but-only-one -time-ever – agg3l

答えて

0

この問題を解決するために、スケジュール文字列パラメータを追加しました。このパラメータは、Jenkinsバージョンのchron形式を受け入れます。私はスケジュール変数をとり、コードのscm()ブロックに配置するジョブDSLを作成しました。これにより、指定された時刻にスケジュールされた処理を実行する新しいジョブが作成されます。