0.はじめに
インターネット時代では、各企業のために、ソフトウェア開発や自明のリリースの重要性は、標準的な手順のセットを形成しており、最も重要な部分は、継続的インテグレーション(CI)と連続展開、デリバリー(CD)です。ベースのジェンキンス+ドッカー+ GithubのCIは、自動パブリッシングプロセスを実現します。
この記事では、非接触のCIのために、ご紹介したいと思い、学生、のCDジェンキンス+ドッカー+ GitHubのは、自動パブリッシングプロセスを構築する方法に基づいて、紙は、一例として、単純なJavaのWebプロジェクト、githubの各プッシュコードになり、ジェンキンスはなりますプルコードの再して、最新の戦争のパッケージは良い構築、UTのITテストを終了、ドッキングウィンドウコンテナに公開します。
1.環境の構造
1.1ドッカーインストール
私の環境はCentOS7.5で、最初のサーバにドッカーをインストールします。:具体的な手順は、次の資料を参照することができ
ドッカー入門インストールガイド
1.2ジェンキンスのインストール
- OKで次のスクリプトを実行しジェンキンスをインストールするのは非常に簡単ドッカ
ドッキングウィンドウが--nameが実行DevOpsチーム・ジェンキンス--user =ルート-p 8080:8080 -p 50000:50000 -vは/ opt /データ/ jenkins_home:は/ var / jenkins_home -dジェンキンス/ジェンキンス:LTS
- レジストリのインストールは、このステップの目的は、開発者として行うことです、当然、鏡に自分の会社のイントラネットで配布いくつかの画像、または開発チーム作り、その後、社内の分布は、サーバーをミラーリング必要とテストのためのテストチームに配信されますドッカーチームは自然に考え、そしてミラーを提供retistryを、このイメージを置くか、地元を離れます
5000 -vは/ opt / devdata /レジストリ:は/ var / libに/レジストリ-dレジストリドッキングウィンドウは、-p 5000 --nameはDevOpsチーム・レジストリを実行します
- 起動した後、完成しジェンキンスさんは、ブラウザを介してアドレスを入力します。
http://ジェンキンスを展開ホストIP:ポート
- 管理者パスワード促したり、ログを作動させることにより入力することができます
ドッキングウィンドウは、DevOpsチーム・ジェンキンスをログに記録します
-
インストールインタフェースに差し込み、管理者アカウントを入力した後、プラグインのインストールのための待ち時間をネットワーキング、プラグインをインストールした後、作成するために、管理者インターフェイスを入力し、クリックし管理者のインストールが完了すると引き続き、あなたには、いくつかのプラグインをインストールしたい場合は、することができますジェンキンス=>はプラグインが変更管理の管理。
1.3のJavaプロジェクト
これを詳細に説明されていない、シンプルなのEclipseの使用が簡単なのMaven(春ブーツ)プロジェクトを構築され、シンプルコントローラとUT、ITテストケースが含まれている次のように、プロジェクトが構成されています。
Githubの次のアドレス: https://github.com/Syfhehe/CI-CD-Demo
2.ジェンキンスパイプライン
2.1ジェンキンスパイプラインは、Githubの統合されたブリッジを介して取得します。
- Mavenの設定は
>グローバルコンフィギュレーションツール、Mavenを追加-ジェンキンスを入力してください。
- GitHubのを入力 - >設定 - > Develper設定 - >個人アクセストークン - >、新しいトークンを生成し、新たなトークンを生成します。
彼の最初の本を保存しtoken
、あなたが紛失した場合、それを見つけることができませんでしたtoken
。
3.(例えばプッシュなど)パイプライン倉庫イベントを捕捉するために、適切ジェンキンスGitHubのを設定すべきではGitHubの上でウェブフック。
次のように、ペイロードURLに/ XXX / githubの-ウェブフックを設定します。
-
ログジェンキンスは、[システム] - > [システム設定] - > [GitHubの - > GitHubの断絶を追加し、GitHubのサーバーを追加します
APIのURLを入力https://api.github.com、以下に示すように具体的には、種類の秘密のテキストを選択し、追加の資格情報を追加]をクリックします。
セットアップが完了したら、をクリックしてTestConnection
プロンプトCredentials verified for user UUserName, rate limit: xxx
、それが効果的なことを示しています。 -
グローバルコンフィギュレーションツールでMavenのインストールを追加します。
2.2 GitHubのの確立がプッシュイベントがあり、ジェンキンスパイプラインは、ジェンキンスアイテム自動的に実行されます
あなたのGitリポジトリのルートディレクトリ1.私たちは、JavaプロジェクトがのJenkinsfileという名前のテキストファイルを作成し、保存する前に構築されました。
次のコード宣言型の行をコピーし、Jenkinsfileファイルに貼り付けます。
pipeline {
agent any
stages {
stage ('Compile Stage') {
steps {
withMaven(maven : 'Maven-3.6.1') {
sh 'mvn clean compile'
}
}
}
stage ('Testing Stage') {
steps {
withMaven(maven : 'Maven-3.6.1') {
sh 'mvn test'
}
}
post {
always {
junit 'target/surefire-reports/*.xml'
}
}
}
}
}
2.ジェンキンスのパイプラインを作成します。何気なく名前を付けます。
3.ので、すべてのプッシュがjenkinsfileスクリプトを生き残る、GITScmポーリングのためのGitHubフックトリガーを確認してください。
あなたがパイプライン実行したい場合はJenkinsfileスクリプトは以下の設定を必要とし、最後の章では、ここで資格情報が生成されます。
-
保存して終了した後だけgithubのに少し変更をプッシュする、あなたはジェンキンスパイプラインが自動的に構築されますでしょう。
このCI-CDの前半:CIは、さえ完了しました。
つづく.....
参照文献:
ます。https://www.jianshu.com/p/f087e78aac45で再現