スーパー詳細作業などを継続的インテグレーション、機能性、展開、はじめにジェンキンス
アウトライン
今日は、単に以下のように要約、概念的なコンテンツジェンキンスの数をコンパイル:
1、の概念
ジェンキンスさんは、開発者はより多くの重要なビジネス・ロジックの実装に集中する、複雑な統合から解放されたことができます継続的な統合システムを使用して簡単に提供するオープンソースプロジェクトです。一方、ジェンキンスは、リアルタイムの監視エラーが詳細なログファイルおよびアラートを提供するだけでなく、トレンドグラフ形式は、プロジェクトの建設と安定性の画像を表示し、存在する統合しました。
ジェンキンスはまた、「自動化」コンパイル、パッケージ、分散アプリケーションをデプロイするためにそれを使用することができ、同時に、構築するためにアリ、Mavenの、のGradleおよびその他のサードパーティ製ツールとの互換性があるのsvnとgitのシームレスな統合を自動化された継続的な統合環境を構築することができますこのようgithubの、ビットバケット大手ソースコードホスティングサイトとの直接統合など直接支援、。
2、ジェンキンス機能
1.引っ張り、コンパイルのタイミング
2.静的コード分析
3.タイミングは、パッケージ化され、ベータ版をリリース
4.このようなテストユニットを実行しているなどのカスタムアクションは、
5.思い出しエラー
3、原則
ここでのgitサーバーとして選択Gitlabです。Gitlab機能やGithubのほとんどが、オープンソースであるが、民間のgitサーバーを構築するために使用することができ、また、それぞれの時間が非常に便利になります、このような開発者のレビューのソースコードとして、非常に強力なWeb GUIを提供します。大まかに次のステップに分かれワークフローシステム:
gitのサーバ(Gitlab)への新しいプッシュの1> Developerバージョン。
2> Gitlabは、一度構築ジェンキンスマスターノードをトリガします。(ウェブフックするか、タイミング検出)
このタスクを構築する3>ジェンキンスマスタノードは、予め設定されたスクリプトのビルドに応じて、このスレーブノードに登録されたスレーブノードの複数に割り当てられます。このスクリプトは、コンパイル、テストとして多くのことを、行うテストレポートを生成し、より多くのことができます。これらは、そうでない場合は、手動タスクはジェンキンス上で行う手渡しすることができます必要になります。
4>私たちは、コンパイル速度のコンパイルに配布コンパイラをdistccのここで使用されるように構築します。
ジェンキンスさんは、最初に提供されたスクリプトに基づいて構築gitlabのローカルコピーに元からコピーされて動作します。私たちは、キー内蔵ジェンキンスでタスクを伝え、システム全体のビルドスクリプトを実行する必要があるということである、見ることができます。
しかし、私はgitのサーバとしてのGithubを使用した後。しかし、実際には似ています。
4、展開
1、ジェンキンスはビルドトリガ:
展開のための開発環境、開発者はコードをプッシュするか、masterブランチのgitlabプロジェクトにコードをマージし、ジェンキンスは、サーバーにコードをデプロイするために対応しています。
2、パラメトリック建設ジェンキンス:
テスト環境デプロイメント環境のために事前に配線された後、プッシュコードを開発したり、マスターブランチgitlabプロジェクトにコードをマージして、コードを展開しませんが、ジェンキンスは、次のような(対応するパラメータを渡し、ビルドボタンをクリックし、Webインターフェイスにログインする必要がありますパラメータは、タグを構築する必要があるブランチを展開する必要がある)、その後に展開されます。
3、建設タイミングジェンキンス:
自動包装用APPは、タイミングを手動でパッケージ化されていない場合、パッケージはジェンキンスAPP毎朝、最新の描画gitlabからコードを取るだろう、開発者は、手動でタグがパッケージ化され、着信ジェンキンスをログに記録することができます追加することで構築されたパラメトリック建築に基づいています。
5、分類の継続的インテグレーション
1.継続的インテグレーション:あなたは頻繁にトランクにコードをデプロイし、テストを自動化することができ、開発プロジェクトのコードでプログラマを指し、
2.継続的な相互作用:基盤の継続的な統合を意味し、オンラインテスト環境にコードを展開します
3.連続的展開は:継続的に相互作用を意味し、コードは、展開のための継続的な相互作用を含む、自動展開のために展開されます