3

Web アプリケーションに Jenkins、Ant、Flex、および Java を使用しています。現在、Flex src のビルド バージョン ファイルを更新し、Jenkins ビルドを開始する前にコミットしています。この手動プロセスを避けて、スクリプトに任せたいと思っています。

ファイルの内容:

ビルド=01_01_2013_10:43
リリース=2.01

質問 1: このファイルの内容を更新し、コードをコンパイルしてから、このファイルを svn にコミットしたいと考えています。SVN が最新のビルド バージョン番号を持つようにします。

この変更されたファイルを SVN にコミットするにはどうすればよいですか。ビルドが成功した後にコミットが発生する場合は素晴らしいでしょう。

質問 2:ビルド開始の 1 時間前に、すべての開発者にメールを送信したいと考えています。「変更をコミットしてください。ビルドは 1 時間後に開始されます。」電子メールと (実際の svn エクスポート + ant ビルド) の間に遅延を設定できますか?
または
、1 時間おきに 2 つのジョブをスケジュールする必要がありますか。1 つはメールを送信し、もう 1 つはビルドを行います。

4

2 に答える 2

5

subclipse svn ant 統合を使用して、変更されたファイルを認証を含めて SVN にコミットできます。

<svnSetting
      svnkit="true"
      username="bingo"
      password="bongo"
      id="svn.settings"
  />
<svn refid="svn.settings">
    <commit file="your.file" />
</svn>

ビルド ファイルのユーザー名とパスワードを取得するには、さまざまなオプションがあります。1 つは、パラメーター化された build を使用することです。ここでは、ビルド ファイルで評価できるビルド パラメーターとしてユーザー名とパスワードを定義します。

      username="${parameter.svn.username}"
      password="${parameter.svn.password}"

2 番目のオプションは、jenkins 構成ファイル プロバイダー プラグインを使用することです。これにより、パラメーター化されたビルドのようにパラメーターを使用することもできますが、提供された構成ファイルから資格情報をインポートします。たとえば、プロパティ ファイルは次の方法でインポートできます。

<property file="config.file" />

実際には、ant の exec タスクを使用して、subversion commit ファイルを実行することもできます。

実際にビルドする 1 時間前に電子メールを送信するには、1 時間間隔でスケジュールされた 2 つのジョブをセットアップする必要があります。しかし、ビルドする前に通知するのは良い習慣ではないと思います.svnへのコミットごとに、より頻繁にビルドすることを検討してください.

于 2013-04-06T06:32:43.387 に答える
1

Post build Task プラグイン ( https://wiki.jenkins-ci.org/display/JENKINS/Post+build+task ) を使用して、svn をシェル スクリプトとして実行することもできます (svn をインストールし、一度シェルから認証する必要があります) 。 Jenkins を実行するユーザーの場合)。

次に、ビルド後のアクションとして svn commit が実行されます。プラグインには、前のビルド/ステップが成功した場合にのみスクリプトを実行するオプション (チェックボックス) があります。

プラグインについては、こちらにも記載されています: Execute Shell Script after post build in Jenkins

于 2013-04-26T13:42:14.057 に答える