CI(継続的インテグレーション)継続的インテグレーション、CD(連続配信)連続配信
なぜCIをやります
1、トランクから分岐オフセット
2、未知のプロジェクトの進捗
3、後からバグを見つけます
図4に示すように、複合体の位置決め
CI値
リスクを軽減する準備1.バイナリパッケージ:静的コード分析は、できるだけ早くバグを見つけます
2.自動化:自動コンパイル、自動テスト、自動展開、自動審査、自動フィードバック
3.いつでも公開
重点
コードの品質を向上させるためには、すべての環境サービスは、自動テストカバレッジを改善するためのベータの安定に掲載されている(インターフェース・テストの自動化に限定されません)
CIシステムフロー
このフローチャートは以下のようです:
のCI詳細なフロー図
コードの提出方法
セルフテスト環境の公開プロセス
コードはgitのラボを持っている1は、dev_test枝を開始する要求をマージし、ジェンキンスソナーは、スキャンセルフテスト環境をトリガし、
2、ソナースキャン - dev_testブランチのため、
3、単体テスト - dev_test分岐ため、
セルフテスト環境構築して実行するには4、セルフテスト環境 - dev_testブランチのために、
図5に示すように、インタフェース自動テストの実装。
図6は、セルフテスト機能テスト環境で行う自動テストを介してインターフェース、後に、新しいインタフェースをテストし、自動化されたテストケースライブラリに新しいテストポイントを追加します。
ベータリリースプロセス環境(ブランチ:DEV)
1、マージDEVを開始する要求にコードGitの研究室の上部分岐、トリガジェンキンスソナー走査;
2、ソナースキャン - のdevの枝のための
3、ユニットテスト - のdevの枝のための
devの枝のための - セルフテスト環境を構築して実行するには4、セルフテスト環境
図5に示すように、インタフェース自動テストの実装。
6、ベータリリースと展開環境へのdevの枝によって自動テスト、テストを通じてインタフェースました。
プロセストリガ機構
1、gitlabウェブフック
2、入力されたURLの建設、追加のトークン情報のURLアドレス。
http://jenkins.cn/view/decision/job/decision-sonar/build
3、gitlabマージ要求を必要としている秘密のトークン入力ジェンキンスは、プロジェクト構成のIDトークンをトリガー
マージ要求トリガトリガ機構を構成するとき
4、プロセスをトリガ、マージ要求を提出
説明書
1、新建jenkins项目
新建sonar扫描、单元测试、构建、自动化测试、beta环境构建五个项目。
2、配置meta data
3、新建pipeline视图
4、设置CI初始项目名称
5、CI初始项目设置依赖关系.注意:依赖关系一定要顺序执行,避免形成环形依赖
6、设置预警声音(可自定义声音,音频格式的文件为wav格式,并且将音频文件打包好给叶柄添加到jenkins服务器上即可)
7、Sonar扫描项目配置
mvn clean org.jacoco:jacoco-maven-plugin:prepare-agent
mvn sonar:sonar
8、单元测试项目配置
-Dmaven.test.skip=false
9、自动化项目配置
http://jenkins.puhuitech.cn/view/decision/job/puhui-decision-autotest/
10、发送测试报告
1)、安装jenkins插件,Editable Email Notification
2)、选择构建后操作,Editable Email Notification;
3)、Project Recipient List:输入收件人的邮箱地址,收件人之间使用逗号隔开;
4)、Default Subject:邮件主题
5)、Default Content:邮件内容自定义
预热内容--使用Groovy脚本新建pipeline流程
1、新建一个项目类型为Pipeline的jenkins工程
2、配置groovy脚本
3、pipeline 模板脚本生成
4、pipeline进程查看
5、jenkins 2.0建自动化构建之pipeline语法: