継続的インテグレーションとは何か(継続的インテグレーション)
継続的インテグレーションは開発チームのメンバーは、より多くの日より手段が発生する可能性がある、統合一日一回少なくとも各メンバーは通常、頻繁に自分の仕事を統合すること、ソフトウェア開発の実践である:継続的インテグレーションのための著者Martin Fowler氏自身は次のように定義され時間積分。(自動テスト、公開、コンパイルを含む)の各統合自動ビルドは全てスルーが、こんなに早くできる限り統合エラーを見つけることを確認します。多くのチームは、チームがより迅速に凝集ソフトウェアを開発できるように、このプロセスが大幅に、統合問題を減らすことができますを見つけます。
より良い仕事に一緒にゆっくりと開発プロセスの問題を避けることができないとなっているソフトウェア開発の品質を確保するためにどのようにチームメンバー間でのソフトウェア開発、開発の複雑付き。特にアジャイル(アジャイル)より多くの繁栄ソフトウェア工学の分野では、どのように再び変化するニーズやソフトウェアの品質も特に重要であることを確認するために迅速に適応します。
継続的インテグレーションそれはこの種の問題のためのソフトウェア開発手法です。
コアバリューの継続的インテグレーション:
- リスクを軽減し、複製処理を減らします
- いつでも、展開可能なソフトウェアを生成するための任意の場所
- 可視性強化プログラム
- 製品開発チームに自信を確立します
継続的インテグレーションの原則
- すべてのローカル開発者は変更が継続的インテグレーションの失敗にはなりませんことを保証し、再提出した後、バージョン管理リポジトリをローカルマシン上でビルドするために必要な、と。
- 開発者はコードのバージョン管理リポジトリに一日一回以上で提出しました。
- 開発者は、少なくとも、コードのバージョン管理リポジトリから一度ローカルマシンに毎日更新する必要があります。
- あなたは何回か実行する日を構築し、統合された統合ビルドを実行するために専用サーバーを必要としています。
- すべての建物は100%でなければなりません。
- すべてのビルドは、パブリッシュ製品を生成することができます。
- 修理の失敗を構築することが最も優先順位の高いものです。
- テストは、将来のある、未来はテストです
ジェンキンス
ジェンキンスは、より多くの重要なビジネス・ロジックの実装に集中する、複雑な統合アウトから開発を可能にする継続的な統合システムを使用して簡単に提供するオープンソースプロジェクトです。ジェンキンスは同時に、統合エラーが存在するの実施を監視する詳細なログファイルおよびアラートを提供するだけでなく、画像の形でチャートの動向と安定性を構築するためのプロジェクトを表示することができます。
1.なぜジェンキンス
答えは簡単です:無料、学習教材、よりので。
2.準備
あなたはサーバーを用意する必要があるので、GitHubのと通信したいので、サーバはGithubに、それへのGitHubのアクセスにアクセスすることができます。
このテストでは、私が見てきたタイルの仕事はVPS移動 VPSのサプライヤーの高コスト、$ 2.99を教えたりヶ月あたり18元程度、主要建物可能な方法で、サーバーを購入しました。しかし、ロサンゼルスのカードの死の前に買った右の部屋を、選択する必要があります購入時であるピットがあります覚えて、それを使用したくない信仰の喪失を表示するために長い時間を待つようにコマンドを打つ、と後で友人の言うのを聞いた、アリゾナ州(アリゾナ州非常に安定した部屋には)、それを別の機会、本当に非常に速いスピードをアリゾナの部屋を買うためにこの時間を与えます
4.展開
メールの設定
システム管理システム設定>>
ここにQQのメールボックスの設定、例えば、自分の電子メールプロバイダに応じて修正します
Gitのプラグインをインストールします。
システム管理>>プラグインマネージャー>>オプションのプラグイン
ジェンキンスを再起動して、Gitのプラグイン、チェック、直接インストールを探します
ジェンキンス申し出多くの優れたプラグインで、良いのがありジェンキンス仕事関連のプラグインの記事
あなたが考える場合は、プラグインのニーズを満たすことができない、あなたが開発することができ、既存の独自の(推奨:分析ジェンキンスプラグインの開発)
ユーザーとセキュリティ
ユーザー管理システム管理>>
あなたはユーザーを追加し、管理することができます
システム管理>>設定グローバルセキュリティ(セキュリティ設定)
安全マトリックスは、管理者ユーザー権限で使用することができます
仕事上の1.ジェンキンス、フリースタイルプロジェクトのタイプ。
2. 在项目的配置中,Source选择 git,并输入Reponsitory的url。
备注:
Creentials: 添加github账号,添加的账号需要对repository有写的权限。
Branches to build: 选择一个监听的branch
3. Build选择 Execute Windows batch command。
输入command
python JenkinsTest.py
4. Build now,保证能build成功,可以在Console Output中查看详细信息。
5. 在项目的配置中,选择构建触发器 "GitHub hook trigger for GITScm polling"。
6. 启动ngrok服务,获得本机8080端口的面向外网的url。
理解: 因为Jenkins的地址是http://localhost:8080,这个地址只能在本机访问,GitHub是访问不到这个网址的,所以要把本机的8080端口也能让外网访问的到暴露给外网。
通过这个网址下载ngrok: https://ngrok.com/download
打开ngrok.exe文件,运行 ngrok.exe http 8080,暴露出8080端口号。
注意: 这个只能8小时之内有效。
得到url: http://d01e74e1.ngrok.io
7. 在Jenkins中设置Jenkins的url,这个url是步骤6中得到的。
这一步也可以通过Override Hook URL来设置。
8. GitHub项目设置Webhooks
在Payload url中输入:http://d01e74e1.ngrok.io/github-webhook/
注意: 一定要有后面的 /github-webhook
9. Push一个commit测试
10. 在Github上查看webhook的状态
11. 此时Jenkins就应该产生一个build,在console里面查看log信息。
参考:https://www.jianshu.com/p/b2ed4d23a3a9