ここ私の会社には、100 以上のジョブが構成された 3 つの Hudson CI サーバーがあります。ジョブ構成とビルド履歴を定期的にバックアップする自動化された方法を探しています。
現在、ジョブとして構成する ant スクリプトがありますが、保守が容易ではなく、洗練されていません。
これを管理する方法を見つけた人はいますか?
ここ私の会社には、100 以上のジョブが構成された 3 つの Hudson CI サーバーがあります。ジョブ構成とビルド履歴を定期的にバックアップする自動化された方法を探しています。
現在、ジョブとして構成する ant スクリプトがありますが、保守が容易ではなく、洗練されていません。
これを管理する方法を見つけた人はいますか?
Backup Pluginがあります。
定期的なバックアップのスケジューリングをサポートしているとは思いませんが、(他の Hudson リモート API のように) URL を介してアクセスすることでトリガーできる可能性があります。その場合、単純に cron ジョブをセットアップできる可能性があります。 URL を ping します。
私の Hudson サーバーは Windows 上で実行されているため、これには Robocopy を使用しています。ジョブ ワークスペース ディレクトリを除く、各ビルド サーバーの hudson ホーム内のすべてのファイルをミラーリングします。バックアップは中央の場所に送られるため、スクリプトを毎晩実行するファイル サーバーにスケジュールされたタスクがあり、Hudson サーバーはそのプロセスを認識しません。
スクリプトには、hudson マシンごとに 1 つのエントリがあります。
robocopy ビルドサーバーへのパス-hudson-home バックアップフォルダーのパス\ビルドサーバー名 /ZB /E /NP /R:1 /W:5 "/LOG:%~dp0backup_log.txt" /TEE /XD ワークスペース
注: 最初のマシンの後、/LOG: ではなく /LOG+: になり、次のマシンがログに追加されます。
これは、ソースに存在しないファイルを削除せずにミラーリングするため、Hudson が X か月または Y ビルド後にビルド結果を削除するように設定されている場合でも、バックアップには完全な履歴が残る可能性があります...コンソールとファイルへのログと同様に、中断された場合は再開可能です。便利です。Hudson が削除したファイルを保持したくない場合は、/E の代わりに /MIR を使用できます。
堅牢なコピーまたはミラーリングのための同様のツールが他のプラットフォームに存在すると確信しています。正しく行えば、おそらく Ant で十分です。
素晴らしいthinBackupプラグインがあります。
HUDSON_HOME ディレクトリ全体ではなく、システム構成とジョブ構成のみをバックアップし、cron のようなスケジュールを設定します。セクシー!
標準のエンタープライズ サーバー バックアップ ソリューションで管理します。
または、BackupPc のようなものを使って独自のロールを作成します。
または、構成ファイルをバージョン管理システムにチェックインします。
完全バックアップと差分バックアップをサポートするシンバックアップを使用しており、cron ジョブのような構文を使用してバックアップをいつ実行するかをスケジュールできます。重要な構成のみをバックアップするため、多くのスペースを必要としません。
詳細については、 https ://wiki.jenkins-ci.org/display/JENKINS/thinBackup を参照してください。
Backup プラグインの他に、構成ファイルのみをバックアップする thinBackup プラグインもあります ( HudsonまたはJenkinsで使用可能) 。
個人的には、すべてのシステム バックアップを 1 つのシステム (通常は最終的にシェル スクリプト) で行うのが好きです。そのためのジェンキンス固有のスクリプトを作成しました(ハドソンでも機能します)。詳細については、 https://bitbucket.org/toomasr/jenkins-stuff/srcを参照してください。