1 --- DevOpsチームのDevOpsチームは、はじめに詳しいガイド
詳細なエントリDevOpsチーム2 ---持続可能な統合ジェンキンス
詳細なエントリDevOpsチーム3 ---コンテナ管理プラットフォームランチャー
それはどのように持続可能な統合を実現するのでしょうか?
1つの継続的インテグレーション
1.1はじめに継続的インテグレーション
1.1.1 問題の説明
次のように伝統的なソフトウェア開発プロセスは、次のとおりです。
図1に示すように、現像モジュールに割り当てられたプロジェクトマネージャ
図2に示すように、各モジュールに並列に開発する開発者、および単体テスト
3は、開発が完了すると、コードがテストのためのテスター、テストサーバーの統合に展開されます。
4、テスターは修正するバグ、バグの開発者を提出、バグを発見しました
5は、バグを再び修正は、統合とテストを完了しています。
問題の説明:
図1に示すように、モジュール間の複雑な依存関係は、統合されたバグの多数に見出さ
2、テスターが長すぎるのテストを待ちます
3、ソフトウェア・デリバリーを保証するものではありません
問題を解決するために考えて:
1.統合は、事前にテストすることができますか?
2.缶私の代わりに、統合展開プロセスを行うための自動化ツールを使うのか?
1.1.2継続的インテグレーションとは何ですか
以下は、説明Baiduの百科事典であります
CI、継続的インテグレーションのアイデアは、あなたが、改正することができるようにトランク、および統合、テスト、エラーの早期発見にコードを複数回日をマージすることであるとして、継続的インテグレーション(継続的インテグレーション)が呼ばれます。ラスティング統合はまた、DevOpsチームに属しています
継続的インテグレーションのメリット:
1、統合、自動化の展開と統合の効率を向上させます。
2、より速く問題を解決します。
3は、より速く配信されます。
図4に示すように、改良された製品の品質。
5、マンパワー導入コストを削減します。
1.1.3継続的インテグレーションプロセス
別の記事を構築ジェンキンス自分自身を参照してください:centOS7ビルドジェンキンスを達成Mavenの+ Tomcatの+ VUEリモートサーバービルドの自動化
ドッキングウィンドウの配置船の上に覆い、その後、ドッキングウィンドウに統合ジェンキンスの下で、以下に詳細に説明していません
1.1.4ドッキングウィンドウと持続可能な統合ジェンキンスを達成
1、新しいMavenプロジェクト
2は、configure gitのアドレス
3、動作している構成のビルドMavenの前に
リモートシェルコマンドの設定
#!/bin/bash
// 查看是否存在启动容器
result=$(docker ps | grep "live-service")
if [[ "$result" != "" ]]
then
echo "stop live-service"
// 停止容器
docker stop live-service
fi
// 查看是否存在容器
result1=$(docker ps -a | grep "live-service")
if [[ "$result1" != "" ]]
then
echo "rm live-service"
// 删除容器
docker rm live-service
fi
// 查看是否存在镜像
result2=$(docker images | grep "live-service")
if [[ "$result2" != "" ]]
then
echo "rmi ip:5000/live-service:2.0.0"
// 删除镜像
docker rmi ip:5000/live-service:2.0.0
fi
おそらく、このスクリプトは、ミラーを削除するには、[削除] --- ---コンテナ船の流れを停止することです
4は、configureのmavenコンパイルアドレス、コマンド
5、コンパイル、リモートサーバ、スクリプトを実行します
リモートシェルコマンドの設定
docker run --name live-service -p 8099:8099 -d ip:5000/live-service:2.0.0
docker logs -f live-service
おそらく、ミラーリングプロセスが作成し、打ち上げコンテナに民間の倉庫---ドッキングウィンドウから引っ張っています
6、ビルド成功に成功を返した後、ビルドを実行します
タスクページを入力し、「今すぐビルド」をクリックしてください
ビルドし始めた、ログを表示する、成功事例のは成功です
構築に成功した後、ミラーサーバーが正常に起動するには、見ることができます
また、ジェンキンスは、ビルドに時間を自動化をサポートしています。