hudson continuous integration tool tutorial selenium tutorial 25
Seleniumシリーズの最後の2つのチュートリアルでは、2つの最も重要なビルドツールについて説明しました– 蟻 そして Maven 。それらの重要性と実際的な重要性について議論しました。
DevOpsシリーズの前回のチュートリアルでは、次のことを学びました。 JenkinsとSeleniumの統合 。
現在では Seleniumオンライントレーニングチュートリアル 、私たちは議論します ハドソンとして知られる継続的インテグレーションツール 。
読み飛ばし=> DevOpsに関する模範的なガイド
注意: このチュートリアルは、SeleniumおよびDevOpsチュートリアルシリーズの一部です。適切なリンクをクリックして、関連するシリーズに移動します。
私たちはその重要性と私たちが得る利点を研究します 継続的インテグレーションツール 。ハドソンは、インストールから高度な設定まで、最初からまっすぐに見ていきます。
学習内容:
- 継続的インテグレーション
- Hudson –継続的インテグレーションツール
- ハドソンのインストール
- ハドソン構成
- 電子メール通知の構成
- ハドソンプロジェクトの作成
- ハドソンプロジェクトの構成
- ソースコード管理の構成
- ビルドトリガーの選択
- ビルドステップの呼び出し
- ビルド後のアクションの構成
- 結論
- 推奨読書
継続的インテグレーション
多くの場合、私たちは、多数の開発者とテスターが異なるモジュールで一緒に作業しているプロジェクトに取り組むことになります。開発者とテスターはモジュールで作業し、それによって実行可能ファイルを開発します。これらの作業成果物は、定期的に統合されます。したがって、開発コードを作成するたびに、開発されたコードが壊れたり、エラーや欠陥が発生したりしないように、統合、テスト、構築する必要があります。
定期的に統合された開発作業を構築およびテストするこのプロセスは、 継続的インテグレーション(CI) 。継続的インテグレーションを使用すると、開発ライフサイクルのできるだけ早い段階で、つまり導入された時期に近い欠陥やエラーを特定して対処できます。
継続的インテグレーションシステムは、新しい/変更されたコードがSCMとしてソース管理システムの頭字語にコミットされるとすぐにアプリケーションを構築してテストします。その大きなメリットと業界への影響により、ソフトウェア開発ライフサイクルの不可欠な部分になり、強制的に実践されています。
Hudson –継続的インテグレーションツール
継続的インテグレーションは自動的に実行できます。ハドソンは、継続的インテグレーションを実行するための一般的に知られているツールの1つです。 Hudsonは、Javaベースのオープンソースの継続的インテグレーションツールです。他の継続的インテグレーションツールと同様に、Hudsonは、ソース管理システムの変更に応じてビルドとテストをトリガーするチームを提供します。
ハドソンは、さまざまなツールとプラグインをサポートしています。
ハドソン:
- CVS、Subversion(SVN)、GitなどのSCMツールをサポートします。
- ANTベースのプロジェクト、Mavenベースのプロジェクトなどを構築できます。
- シェルスクリプトとWindowsバッチコマンドを実行できます
- 電子メール、SMS、Skypeなどを介してレポート、通知などを送信することができます。
ハドソンのインストール
前提条件
ハドソンを使用できるようにするには、開始する前に次のものを用意する必要があります。
- ソースコードリポジトリ(SVN / Git / CVSなど)
- ビルドスクリプト(Ant / Mavenなど)
インストール
ハドソンは、さまざまな環境に簡単にインストールできます。 Hudsonは、LinuxマシンとWindowsマシンの両方にインストールできます。また、さまざまなLinuxフレーバーのOSタイプに固有のパッケージとして配布されるため、インストールは数分のタスクになります。 Hudsonは、スタンドアロンアプリケーションとして、またはサーブレットコンテナ内で実行できます。このチュートリアルでは、Windowsマシンへのハドソンのインストールについて説明します。ハドソンをインストールするには、2つの異なるアプローチがあります。
- WARファイルの使用
- ネイティブパッケージの使用
ネイティブパッケージは、Ubuntu / Debian、Oracle Linux、Redhat / Fedora / CentOS、およびopenSUSEで利用できます。
このチュートリアルでは、WARファイルによるインストールについて説明します。プロセス全体を段階的に説明しましょう。
ステップ1 :ハドソンの公式ウェブサイトからハドソンWARファイルをダウンロードします–「 http://hudson-ci.org/ 」。 WARファイルをローカルファイルシステムの目的の場所に保存します。このWARファイルは、コマンドプロンプトから直接開始することも、サーブレットコンテナで使用することもできます。 WARは、サーブレットコンテナが埋め込まれた実行可能ファイルです。
ステップ2 :次のステップは、HudsonWebユーザーインターフェイスを初期化することです。このためには、コマンドプロンプトを開き、ハドソン戦争が保存されているフォルダーに移動する必要があります。
- java -jar hudson-3.0.1.war –httpPort = 8099と入力します
上記のコマンドは、初期設定をハドソンダッシュボードで行う必要があることを示しています。以下の画面を参照してください。
(クリックすると画像が拡大します)
注:WindowsまたはLinuxマシンでサービスとしてHudsonを開始することをお勧めします。
ステップ3 :ハドソンウィンドウにアクセスできるようにするには、ブラウザを開いてハドソンを起動します。
- 「http:// localhost:8099 /」と入力します–これによりHudsonウィンドウが開きます。
(クリックすると画像が拡大します)
ステップ4 :目的のプラグインを選択し、(完了)ボタンをクリックします。すべてのプラグインをインストールするのに数分かかる可能性があるため、しばらくお待ちください。
注意 :SCMのサポートを提供するために利用できるいくつかのオプションがあります。使用するSCMオプションにチェックマークを付けます。
すべてのプラグインがインストールされると、ユーザーはハドソンダッシュボードを表示できます。
ハドソン構成
ハドソンダッシュボードの準備ができたので、次のステップはハドソンを構成することです。プロセス全体をステップでもう一度説明しましょう。
ステップ1 :ハドソンを設定するには、左側のメニューに表示される「ハドソンの管理」リンクをクリックします。
ステップ2 :次のステップで「システムの構成」リンクをクリックします。次のスクリーンショットを参照してください。
ステップ3 :(システムの構成)リンクをクリックするとすぐに、接続パラメーターの多数のセクションが表示されます。次の図に示すように、JDKにエントリを追加します。ユーザーは、JDKインストールの名前とJavaがインストールされている場所を提供する必要があります。複数のJavaインスタンスを追加できます。
「自動インストール」チェックボックスをオンにして、JDKを自動的にインストールすることもできます。
ステップ4 :次のステップで、次の図に示すように、Antにエントリを追加します。ユーザーは、Antインストールの名前とAntがローカルにインストールされている場所を提供する必要があります。
JDKやAntと同様に、ユーザーは他の接続パラメーターを構成できます。
注意 :「自動的にインストールする」チェックボックスを必ずオフにしてください。インターネットからアーティファクトをダウンロードする場合は、チェックボックスを選択する必要があります。
電子メール通知の構成
電子メール通知セクションは、同じWebページの最後に表示されます。ユーザーは、次のフィールドを構成する必要があります。
詳細ボタンをクリックして、電子メール通知に関連するすべてのオプションを表示します。
- SMTPサーバー: SMTPサーバーは、SMTPサーバーに関する情報(サーバーのIP番号または完全修飾名)を格納します。デモのために、このチュートリアルでは、GmailのSMTPサーバーを使用します。
- デフォルトのユーザーEメールサフィックス :このフィールドには、ユーザー名をサフィックスとして付けて、電子メール通知を送信するために使用できる電子メールサフィックスを指定できます。
- システム管理者の電子メールアドレス :管理者の電子メールアドレスは、すべての通知の送信元となる送信者の電子メールIDとして使用されます。
- ハドソンのURL :電子メール通知内でレポートを公開したり情報を作成したりする可能性がある場合は、ハドソンのURLを提供する必要があります。ハドソンのURLは、レポートへのアクセスに使用されます。有効なURLを指定する必要がありますが、すべての受信者がイントラネットに接続されている場合は、ハドソンをホストしているマシンのIPアドレスも指定できます。
- SMTP認証を使用する :このオプションを有効にすると、認証目的でユーザー名とパスワードのフィールドが表示されます。
- SSを使用する L:ユーザーはこのオプションを選択してSMTPサーバーに接続することでSSLをアクティブ化できます。
- SMTPポート: ユーザーは、メールサーバーとの通信に使用されるこのフィールドにポート番号を入力する必要があります。ポート番号が指定されていない場合は、デフォルトのポート番号が割り当てられます。
- 文字コード :このフィールドは、電子メールの作成に使用される文字セットを指定します。
このチュートリアルでは、Gmailメールサーバーを使用してメール通知を送信することをすでに説明したように、次のスクリーンショットを参照して、(メール通知)セクションで必要な変更を加えます。
新しく行ったすべての変更を保存するには、(保存)ボタンをクリックします。
ハドソンプロジェクトの作成
ハドソンをマシンにインストールして構成したので、次に進んでハドソンプロジェクトを作成します。ハドソン構成と同様に、ハドソンプロジェクトにはいくつかの構成オプションがあります。このチュートリアルでは、最も便利で一般的に使用されているオプションと拡張機能に光を当てます。
新しいハドソンプロジェクトを作成および構成するには、次の手順に従います。
左側のメニューに表示される「新規ジョブ」オプションをクリックします。次のページが開き、プロジェクトの作成とプロジェクトのスタイルに関連するオプションが表示されます。
プロジェクト/ジョブを作成できるスタイルは多数あります。プロジェクトとジョブはどちらも同じ意味を持つ傾向があるため、同じ意味で使用できることに注意してください。
- フリースタイルのソフトウェアjoを構築する b:これは、新しいハドソンジョブを作成するために最も一般的に使用される方法です。
- マルチ構成ジョブを構築する :このスタイルのプロジェクトは、さまざまなジョブを実行するために使用されます。
- 外部ジョブを監視する :このスタイルのプロジェクトは、外部ジョブを監視します。
- 既存のジョブをコピーする :既存のプロジェクトに類似したプロジェクトがある場合は、このスタイルが役立ちます。既存のジョブの名前を指定するだけで、このジョブのレプリカが作成されます。
ただし、このチュートリアルでは、フリースタイルのハドソンプロジェクトを作成します。作成するジョブの名前を入力し、(OK)ボタンをクリックします。 (OK)をクリックすると、次のようなジョブの構成ページが表示されます。
ハドソンプロジェクトの構成
ハドソンジョブを作成したら、それを構成します。ハドソン構成と同様に、ハドソンジョブにもさまざまな構成設定があります。ここで重要なものについて話し合いましょう。
具体的には、ジョブを構成するための設定には6つのタイプがあります。
- 一般的なジョブ設定 :このセクションでは、ユーザーがジョブに関する基本情報に言及できます。ユーザーは、ジョブの説明を送信したり、ジョブを無効にしたり、ジョブをパラメーター化したり、古いビルドを破棄したり、同じジョブに対して複数のビルドを同時に実行したりできます。
- 高度なジョブオプション :このセクションでは、ユーザーがいくつかの詳細オプションを構成できます。
- ソースコード管理 :このセクションでは、ソースコード管理システムに関連する設定を提供できます。 SCMが使用されていない場合は、「なし」を選択します。ユーザーは、Hudsonのインストール時にプラグインがインストールされたSCMオプションのみを表示できることに注意してください。 HudsonにSCMを追加するには、ユーザーは(プラグインの管理)ページにアクセスして、必要なプラグインをインストールできます。
- ビルドトリガー :このセクションでは、ユーザーがビルドの実行を開始する方法を決定できます。
- ビルド :このセクションでは、ユーザーがビルドメカニズムの設定を提供できます。
- ビルド後のアクション :このセクションでは、ビルドの実行が完了したときに実行されるビルド後のアクションに設定を提供できます。
一歩先に進み、必要な設定でジョブを構成しましょう。ユーザーは、「一般的なジョブ設定」および「詳細なジョブオプション」の下のオプションをデフォルトの状態のままにすることができます。
ソースコード管理の構成
このチュートリアルの上記のセクションでは、Hudsonプロジェクトの作成について多くのことを話してきました。ハドソンプロジェクトは通常、特定のソースコード管理システムにリンクされている実際のプロジェクト(ソースコード)で使用されます。このチュートリアルの冒頭で述べたように、ハドソンはさまざまなSCMを強力にサポートしています。いくつか例を挙げると、HudsonはCVS、Git、SVNなどをサポートしています。したがって、このチュートリアルでは、Subversion(SVN)をSCMとして構成します。
ステップ1 :「Subversion」オプションを選択します。ユーザーがSubversionを選択するとすぐに、次のオプションが表示されます。
ステップ2: 次のステップは、SVNの「リポジトリURL」を提供することです。ローカルリポジトリを作成したので、ローカルリポジトリのURLを提供します。 Tortoise SVNを使用して、ローカルリポジトリを作成できます。
最高の無料のデータ復旧ソフトウェアウィンドウズ10
このセクションの他のすべての設定をデフォルトのままにします。
ビルドトリガーの選択
次のステップは、ビルドトリガーを構成することです。 Hudsonでは、トリガーを設定してビルド実行プロセスを自動的に開始できます。他のプロジェクト/ジョブがビルドされた場合、ユーザーはジョブを自動的にビルドするように構成できます。または、ビルドを定期的に実行するように設定することもできます。つまり、ビルドの実行をスケジュールするか、ビルドをスケジュールしてSCMで新しいコミットを検索し、ユーザーのいずれかがビルドの実行を開始するように設定できる場合は、実行をトリガーすることもできます。プロジェクトがMavenベースのプロジェクトである場合、Maven依存関係の更新。
これらのオプションを設定するには、目的のビルドトリガーを選択するだけです。また、ユーザーは一度に複数のオプションを選択するために活用されます。
上記のトリガーのいずれかを選択するときに、ユーザーはトリガータイプに固有の追加情報を提供する必要がある場合があります。
- 他のジョブがビルドされた後にビルドする:このジョブの実行をトリガーできるジョブの名前を記載する必要があります。
- 定期的に作成する:スケジュールを記載する必要があります。スケジュールについて言及するために従う必要のある特定のプロトコルがあります。スケジュールの詳細を以下に示します。
- SCMのポーリング:ユーザーはスケジュールを指定する必要があります。このフィールドは、「定期的にビルドする」と同じように機能します。
- Maven 3統合によってMaven依存関係が更新されたときにビルドする:このセクションでは、入力を送信する必要はありません。
詳細については、ヘルプアイコンを展開してください。
ユーザーがこれらのビルドトリガーのいずれかを設定したくない場合は、ジョブ/プロジェクトを手動でビルドすることを決定できます。彼/彼女がしなければならないのは、左側のメニューに表示されている「今すぐビルド」リンクをクリックすることだけです。
ビルドステップの呼び出し
ビルドプロジェクトを構成するためのすべての基本的な手順を確認したので、先に進んでビルド手順をいくつか追加しましょう。このセクションでは、ユーザーは複数のビルドステップで自分のビルドを定義できます。
各ビルドステップには、定義して呼び出すための独自の規則があります。
たとえば、以下のANT呼び出しを確認してください。
ビルド後のアクションの構成
場合によっては、特定のビルド後のアクションを実行することが必要になるだけでなく、不可欠になります。ビルド後のアクションは、ビルドが実行されるとトリガーされるいくつかのアクションに他なりません。ユーザーは、必要に応じて、複数のビルド後のアクションをトリガーするために活用されます。
ビルドの実行ステータスとレポートは、ソフトウェア開発ライフサイクルの最も重要な成果物または終了基準の1つであることは誰もが知っています。したがって、Hudsonを使用すると、ビルド実行レポートの公開、ドキュメントの生成、実行可能ファイル/アーカイブの生成などを行うことができます。
テスト実行レポートは、公開して、電子メールを介して利害関係者に送信できます。このビルドの結果により、別のビルドの実行がトリガーされる可能性があります。
ビルド後のアクションはたくさんあります。少し時間を取って、最も基本的なアクションについて説明しましょう。
#1。ダウンストリームテスト結果の集計 –この設定により、ユーザーはこのジョブとダウンストリームジョブのテスト実行結果を集約して、より影響力のあるテスト結果を生成できます。ユーザーが行う必要があるのは、ダウンストリームジョブの名前を指定することだけです。ユーザーがダウンストリームジョブを提供したくないが、設定を活用したい場合は、ハドソンにすべてのダウンストリームプロジェクトを見つけるように指示できます。
#2。使用状況を追跡するためにファイルのフィンガープリントを記録する –この設定は、特定のファイルが使用された場所を追跡するためにユーザーが使用できます。
#3。 JUnitテスト結果レポートを公開する –この設定により、ユーザーはJUnitによって生成されたカスタムレポートを読んで理解することにより、JUnitテストレポートを公開できます。 JUnitテスト結果レポートは、作成されたレポートを表示するためのWebインターフェースをユーザーに提供します。これらのレポートは、電子メールを介して利害関係者に送信できます。このオプションを有効にするには、ユーザーが行う必要があるのは、JUnitによって生成されたカスタムレポートへのパスを提供することだけです。
#4。アーティファクトをアーカイブする –この設定により、ユーザーは、さらに使用するために配布できるアーティファクトを作成できます。アーティファクトは、ビルドが成功するたびに生成できます。これらのアーティファクトには、ユーザーがWebインターフェイスを介して直接アクセスできます。アーティファクトは、warファイル、jarファイル、zipフォルダーまたはtarフォルダーの形式で実行可能ファイルをリリースできます。
#5。 Javadocを公開する –この設定により、プロジェクトがJava docを生成する場合、HudsonWebインターフェースで顧客およびユーザーにJavadocを公開できます。このオプションを有効にするには、ユーザーはJavadocディレクトリに対してJavaDocの場所を指定する必要があります。
ユーザーが「ビルドが成功するたびにJavadocを保持する」オプションにマークを付けると、新しく生成されたJavadocが指定されたフォルダーに保存されます。したがって、成功したビルドに対応するすべてのJavadocが維持されます。
#6。他の仕事を作る –この設定により、ユーザーは、このジョブが実行されると、他のジョブの実行をトリガーできます。ユーザーは、同時に複数のジョブの実行をトリガーできます。この設定は、単体テストと統合テストのシナリオを実行するのに役立ちます。ユーザーは、このジョブが失敗した(不安定な)場合でも、他のジョブを作成するオプションを設定することもできます。
#7。 Coberturaカバレッジレポートを公開する – Coberturaは、プロジェクトのコードカバレッジを分析するJavaベースのテストツールです。つまり、テストでカバーされるコードの割合を評価します。したがって、この設定により、ユーザーはコードカバレッジ分析を使用してレポートを生成できます。この設定では、コードカバレッジに関する本格的なテストレポートを取得する前に、いくつかのパラメーターを指定する必要があります。この設定はデフォルトでは提供されないことに注意してください。つまり、プラグインをインストールする必要があります(これは通常、推奨されるプラグインの一部であるため、インストール時に行いました)。
(画像をクリックすると拡大します)
#8。電子メール通知 –電子メール通知は、ビルド後の最も重要なアクションの1つです。このオプションを使用すると、ユーザーは電子メールIDを構成することにより、関係者(開発者、テスター、製品所有者など)にビルド通知電子メールを送信できます。 Hudsonは、ビルドが不安定、成功、失敗した場合などに電子メールを送信できます。ユーザーは、電子メール通知トリガーを設定することもできます。通知メールは、メールIDの間に空白を入れるだけで、同時に複数の受信者に送信できます。以下のスクリーンショットを参照して、これらの設定を提供する方法を確認してください。
(画像をクリックすると拡大します)
ノート:
- ユーザーはいつでもこのページに戻って、必要に応じて設定を変更できます。
- ユーザーは、関連するヘルプアイコン内の各オプションに関する情報を表示できます。
- ユーザーは、プラグインを使用してビルド後のアクションをさらに追加できます。
結論
このチュートリアルでは、継続的インテグレーションの概念を理解してもらいました。また、ソフトウェア開発のライフサイクル、特に開発者やテスターのライフサイクルにおけるその重要性にも重点を置きました。
次のチュートリアル#26 :シリーズを進めると、 いくつかの高度なSeleniumの概念について話し合う これは、自動化フレームワークの最適化に直接的または間接的に役立ち、ユーザーの可視性を高めます。したがって、次のチュートリアルでは、ロギング機能、その可能性、デバッグ機能などについて説明します。
注意: このチュートリアルは、SeleniumおよびDevOpsチュートリアルシリーズの一部です。 DevOpsシリーズの前のチュートリアルと次のチュートリアルについては、以下のリンクをクリックしてください。
推奨読書
- Cucumber Seleniumチュートリアル:Cucumber Java SeleniumWebDriverの統合
- 初心者向けの詳細なEclipseチュートリアル
- SeleniumとJMeterの統合
- Cucumber ToolとSeleniumを使用した自動化テスト– Seleniumチュートリアル#30
- Seleniumとの統合および機能テスト用のスポック
- Selenium用のMavenビルド自動化ツールとMavenプロジェクトセットアップの使用-Seleniumチュートリアル#24
- JenkinsとSeleniumWebDriverの統合:ステップバイステップのチュートリアル
- Selenium WebDriverの概要– Seleniumチュートリアル#8