ジェンキンス継続的インテグレーションと自動展開システムのインストール構成

序文

    私はすべてのプログラマは、ライン上の深夜の痛みを経験していることを信じています!残業農業当たり前のようにラインコードとして、それが深く、痛みです。そのため私たちはシステム業務の複雑な、システムのコアは、分散システムアーキテクチャが原因不合理なシステムパーティションの、ですので、各版が発行される原因となる一方で、複数のシステム間の連携に設計された大規模なシステムで、複数のシステムを放出するように設計され、小型版の三〇から五、リリースのシステムのダースあるいは数十の大規模なバージョンしばらく!そして、我々は適切なサポートインフラ、髪のバージョンを持っていない、最も伝統的な方法で、開発者は、それぞれがそのリリース本番環境をカバーするパッケージを言えば、運用、保守担当者にパケットを解放します。したがって、唯一のすべてのバージョンは、2〜3時間を要するラインに送りました。この方法だけではなく、時間がかかり、労働集約型ではなく、マニュアルでは、多くの場合、いくつかの失われた、落下現象が生じているため。そして、我々はまた、我々は(主に手動テストだった)3-4時間を必要とするテスト回帰の開発版の完了後に、純粋な手動テストを用いて試験しました。前にも継続的な統合、自動化されたテストと運用・保守を提唱されてますが、事前の着陸に至っていました。最後に、4時までの仕事の夜の後、私は我慢できません。ベッドの目を覚まし遅延で帰国した後、私は6時が正式に私の継続的な統合、自動展開を開始し、会社に来てまで取得するために、私は自分自身を行い、彼らが行うことができないいかに難しいか、この自動化されたリリースを考えました研究と道路の進歩。

まず、知人ジェンキンス

  • オープンソースコード、プラグインが豊富な音、安定したシステム
  • コミュニティ活動家、より豊富なオンラインリソースと成功実践
  • 簡単なインストールと設定
  • 視覚的な管理ページの形でウェブ

1.ジェンキンスは何ですか

     ジェンキンスは、オープンソースソフトウェアプロジェクト、継続的インテグレーションツールは、作業の継続的な監視の重複のためのJava開発に基づいている継続的インテグレーションソフトウェアが可能になる可能にするオープンで使いやすいソフトウェアプラットフォームを提供することを目的とします。

**継続的インテグレーション:**

    継続的インテグレーションは、統合は一日に数回発生する可能性を意味し、少なくとも一日一回、各メンバーによる統合開発チームのメンバーが頻繁に自分の仕事を統合することをソフトウェア開発の実践、、、です。(自動テスト、公開、コンパイルを含む)の各統合自動ビルドは全てスルーが、こんなに早くできる限り統合エラーを見つけることを確認します。

2.Jenkinsを行うことができます

    我々はすべて知っているように、産業革命は、それが反復作業の多くを回避すること、人の手を解放しますが、ジェンキンスは、反復作業の多くを解決するために、開発者テスト運用・保守担当者を助けることができる、我々は、以下のようなスクリプトで記述された反復作業、いくつかのことができます。コード提出、ユニットテスト、コンパイラ、構築物は、スクリプトにカプセル化された、または私たちのためにジェンキンスによってタイミング出版必要に応じて行きました。実際には、多くのプラグインジェンキンスは大文字で、基礎研究は、我々のニーズを完了するために1つまたは複数のWindowsまたはLinuxのコマンドを実行することです。

ワークフローの3.Jenkins

    ジェンキンスの簡単な理解することで、完全な自動化解除の一般的な考えを持つように、後に、以下の映像ショージェンキンスのワークフロー

画像

アイデアがあり、次のステップは、プロセスのジェンキンスの自動化の導入に基づいて、ステップ、.NET Webアプリケーションの簡単な実装によってステップです。

二、ジェンキンスのインストール

    私たちのプロジェクトのビルドを開発するために、.NET freamworkに基づいており、ジェンキンスは、より簡単にするために、.NETプログラムをコンパイルコンパイルし、そのため、Windowsのバージョンをインストールすることを選択する必要があるので、ジェンキンスさんはまた、Windows版のLinux版があります。

1.ダウンロード

    ジェンキンスさんは、公式サイトhttps://jenkins.io/download/ Windowsインストールパッケージからダウンロードすることができます。

インストール2.

    ダウンロードが完了したら、あなたはそれがプロンプトに従いインストールすることができます。(Windowsは愚か者​​のインストールの下で、ノートジェンキンスは、Java開発であるため、対応するJDKのバージョンをインストールする必要があります)

3.設定

    自動的にインストールが完了した後にインストールし、Windowsサービスを開始しますブラウザのローカルホストを開いて、ジェンキンスと呼ばれる:8080(ジェンキンスのデフォルトのポート番号は8080で、ジェンキンスするには、ALTERは、Jenkins.xml変更ポートを見つけるために、インストールディレクトリを開き、再起動するサービスを開きますジェンキンスサービス)を設定することができた後、画面の指示に従ってください!設定後、次のインターフェイスが正常にインストールされたことを表して参照してください!

画像

    全体のインストールプロセスは基本的には、プロンプトがばかに従う得るために10分程度、基本的には、中に問題が発生していない、非常に簡単です!次は、上記の手順での.NETに従って下継続的インテグレーションと自動展開ジェンキンスを実装する方法について説明します!

第三に、SVNを介してソースコードへのアクセス

1.プラグインをインストールします。

     私たちの考えによると、最初に行うべきことは、私たちのソースコードを取得することです。当社の使用などのソースコード管理ツール主にSVNので、ここで我々はSVNの方法や手段に焦点を当てます。Subversionのプラグイン:母のガイドラインによると、私たちはプラグインSVNをインストールする必要があります(を場合:ジェンキンスをインストールする際に選択したジェンキンスさんが直接自分自身をインストールすることなく、このプラグインをインストールするには、プラグインをインストールすることをお勧めします)。

2.プロジェクトの構成

    プラグインをインストールした後、フリースタイル・ソフトウェア・プロジェクトを作成することを選択し、名前、プロジェクトの設定に入った後に、ソースコード管理オプションを見つけます:

画像

設定する必要のあるいくつかのオプションがあります。

  • リポジトリURL:SVNパスが取られるなどします。https://127.0.0.1:9666 / SVN / HS.Mall / SoureCode /トランク/テスト

  • 資格情報:設定SVNのユーザー名とパスワード

  • 見た目を無視:SVN外部参照を無視するかどうか(これは非常に重要であり、それはSVNの外部参照、自己Baiduの上で、後に使用されます)

  • 追加の資格情報:このライブラリの他のバージョンに関連付けられている外部参照を使用して、あなたのSVNリポジトリが非常に重要です

    レルム:SVNサーバーのアドレスを入力

     <https://127.0.0.1:9666> VisualSVN Server //(注意这个格式)

    資格情報:ユーザ名とパスワードの情報SVNで塗りつぶし

直接デフォルトの値に応じてその他のオプションは、各アイテムの詳細に少し背中をクリックすることができますすることができますか?いいえビューません。

設定後[保存]をクリックして結果を確認するためのプロジェクトをビルドします。ソースコードは、ワークスペースジェンキンスに更新することができた場合は、コンフィギュレーションの代表者が成功します!

第四に、アプリケーションは、MSBuildのでコンパイルされています

プラグと環境をインストールする1.

     MSBuildの:.NETアプリケーションは、プラグインをインストールするには、Microsoftが提供するMSBuildのツールでコンパイルすることができます。(注:ジェンキンスサーバーをインストールするのMSBuild、我々は問題は、不必要なトラブルの多くを保存するときにVSが建物の中に開くことができ、デバッグ、ジェンキンスVS開発ツールでインストールをお勧めします)。

2.グローバル設定

    プラグインをインストールした後、[システム] - > [グローバル設定ツール(ConfigureTools)は、MSBuildの構成オプションを見つけます:

画像

  • 名前:自分自身の名前
  • MSBuildのへのパス:物理パスからMSBuild.exeプログラム

注:これからMSBuild.exeは、バージョンへのプログラムfreamworkが対応して使用する必要があり、ここで私は、MSBuildのツールを見つけるために、まだ始まったばかりで、私はC#6.0の構文をコンパイルすることはできません単に期待していなかったここでピットに会いました。Visual Studioのインストールディレクトリの直接のMSBuild.exeへの提言では、あなたは多くの問題を回避することができます。VS2017の場合と同様ます。Program Files(x86の)\のMicrosoft Visual Studioの\ 2017 \エンタープライズ\ MSBuildの\ 15.0 \ binパス内。

3.プロジェクトの構成

     我々は以前に作成したプロジェクトを開き、ビルドオプションを見つけるために - >ビルドステップを追加 - >のMSBuildを使用して、Visual Studioプロジェクトまたはソリューションをビルドします

画像

  • 名前:MSBuildののグローバル設定の名前を選択します

  • MSBuildのビルドファイル:.csprojファイル、仕事への相対パスを構築するために私たちのプロジェクトに記入してください。以下のような:/Test.csproj

  • コマンドライン引数:MSBuildのパラメータなど:/ T:リビルド/ P:設定=リリース/p:VisualStudioVersion=14.0 /p:DeployOnBuild=True;PublishProfile=Test.pubxml

    • / T:リビルドリビルド

    • / P:設定=リリースリリース生成モード
    • /p:VisualStudioVersion=14.0は(VS2015が14.0,2017 15.0である)子ツールセットを指定し、エラーが提供されることはありません
    • VSリリースしたときにTest.pubxmlは、プロジェクトファイルを公開するドキュメントを発行使用/p:DeployOnBuild=True;PublishProfile=Test.pubxmlファイルフォルダのプロパティにある、.pubxml設定することができます。

    設定後、私たちの設定が正しいことを、彼らは代わって、成功した構築することができれば、コンソールメッセージを表示するには、ビルディングをクリックしてください!

4.問題が発生しました

    構築することができ、非常によく母の一連の溶液であると考えますが、何回連続失敗した数十の後、彼らははるかに少ないシンプル理解するであろう。いくつかの中に発生した主な問題:

  • MSBuildのバージョンは構文C#6.0の建設にはつながりません
  • ジェンキンスさんは、ワークスペースにソースコードリポジトリを更新し、その後の建物の作業を実行しようとしています。私たちのプログラムは、非常に多くのサードパーティの依存関係のない独自のリポジトリを行い、かつ管理するために、私たちのSVNリポジトリの別のバージョンでは、独自の公共図書館のいくつかは、これらのサードパーティ製のパッケージと公共図書館を開発引用され、標準化されていますこれリファレンスのセットを構築する時間を見つけることができない多くのプログラムになります。

質問1について:すでに述べたように、あなただけの対応バージョンを確認する必要があります

質問2:多くの情報を見つけるために開始するが、解決策を見つけることができませんでした、と後でまだソースコード管理からプログラムを発見しました。

シナリオ1:

    リファレンスはNugetは、サーバーマネージャーNugetを使用して、いくつかの公共図書館は、私たち自身の開発に依存していると思いました。別の記事ブログに依存して管理Nugetの記事。

シナリオ2:

    SVNは、上記参照の外にある、そのような解決策を見つけるために、これらの英訳ジェンキンスは見た目SVNプラグインを無視する訳には、説明し、またそうクレイジー必死だったSVNはそうリポジトリのアップデートで、外部リファレンスを設定することができるということですあなたもダウンし、リポジトリの更新に頼ることができたときに、その後、プラグジェンキンスSVNを入れてもSVNに作業しているオプションが削除され、その後、フィルはSVNリポジトリ設定の追加の資格情報オプションを依存し、これらの依存関係を更新することができるようになります外観を無視スペース。

    二つの問題上記の基本的な問題を解決するためにした後、あまりにも困難に遭遇ません。このショーはどのように重要な科学の私達のソースコード管理は、はい標準化。

数十回はゴミ参照の束を構築するために失敗したか苦痛理解することです!

第五に、FTP経由でアプリケーションサーバにパブリッシュ

    解放に成功パスパッケージTest.pubxmlの指定を(最高がワークスペースの下に置かれている)を構築した後、アイデアに基づいて、次のステップでは、アプリケーションサーバーのルートディレクトリにコピーしたパッケージを公開する方法を見つけることです。私たちのアプリケーションサーバーは、Windowsのシステムですので、我々はアプリケーション・サーバーに直接アップロードするFTPを使用すると考えることができ、リモートで過去にsshのコピーを経由して、Linuxシステムと同じではありません。

プラグと環境をインストールする1.

    ジェンキンスプラグを取り付けるオーバーFTP、アプリケーションサーバを開くためにFtpの必要性を公開します。

 2.グローバル設定

    システム管理 - システム構成>下のFTPの設定項目上で公開して下さい

画像

  • 名前:後でプロジェクト構成の名前が、に使用されます
  • ホスト名:FTPホスト名(デフォルトのポート番号21、高度な内部で変更することができます)
  • ユーザー名:FTPのユーザー名
  • パスワード:FTPのパスワード

3.プロジェクトの構成

    FTP上でビルドアーティファクトを送信> - >手続き後のビルドに追加する - 私たちは、操作の後、建物を見つけるために、プロジェクトの建設を開く前に

画像

  • 名前:セレクトグローバルコンフィギュレーションで
  • ソース・ファイル:あなたの公開パッケージのパスを選択してください(ここでは、ワークスペースに相対的です)
  • リモートディレクトリ:(ここではルートディレクトリからの相対であるFTP)、リモートのパスに

設定後、[保存]をクリックし、あなたが構築することができます!

VIおわり

    前述したように、上記のように、午前6時、正午、ほぼ完全にから、この期間中に放出され、当社の自動化のニーズの基本的な実現は、もちろん、単純なようではありませんまた、我々は百について、ビルド時に多くの問題に遭遇しました多くの時間は、最終的に初めて成功しました。本論文では、基本的な考え方を達成するための自動展開を説明し、当然のことながら、多くのプログラムがあり、私たちの要求を達成し、さらにはジェンキンスに限定することはできません。そのように記事に記載されていない場所の多くの詳細があるこのシナリオ:私が終わった後、私はチームメンバーを与えたので、NUnitのテストユニットを自動化する方法は、構築する方法......、時限非常に詳細な設定マニュアル、およびトレーニングの何倍、しかし、イニシアチブは、自分の能力を制限するより詳細な詳細についての話を考えると手にするということ。また、本番環境では使用が遅いながら後に、我々はほぼ一年、まだ、長い時間のための私の研究の成果のレベルのまま他のジョブを実行するために私を導きました。実際には、アイデアは、私たちはさまざまな方法を通じて、私たちの問題を解決することができるという考えと、最も重要であり、あなたが.NETプラットフォームについてで!より徹底的に学ぶためには、問題解決のためのアイデア、より手、自分の練習に重点を置くことをお勧めしますジェンキンスの実装上の問題と着陸を議論し、継続的な統合と自動展開を実現するには、記事にメッセージを残すことができます。

おすすめ

転載: www.linuxidc.com/Linux/2020-01/161893.htm