プラグインをインストールする
まず、jenkinsインターフェースに2つのプラグインをインストールします。
システム管理->プラグインを管理し、Maven統合とコンテナーへのデプロイの2つのプラグインをインストールします。Maven統合プラグインはMavenプロジェクトのビルドに使用され、Deploy tocontainerはwarパッケージをリモートマシンに公開するために使用されます。
プラグインをインストールした後、jenkinsを再起動します。
[root @ jinkai src] #systemctl restart jenkins
もう一度jenkinsにログインし、Mavenプロジェクトをビルドします。
Mavenプロジェクトを構成する
上で[OK]をクリックすると、Jenkinsはプロジェクトの構成インターフェイスに自動的に移行するため、いくつかの構成を実行する必要があります。
カスタマイズするための説明はこちら
ソースコード管理の場合は、[Git]、[リポジトリURL]の順に選択し、構築したgitlabサーバーのリポジトリのアドレス、[認証情報]を入力し、右側の[追加]を選択して、認証情報を追加します
select SSH Username with private keyと入力します。ユーザー名はカスタマイズされます。ここでの秘密鍵は、jenkinsマシンとgitlabの公開鍵に対応する秘密鍵です。
jenkinsマシンとgitlabの公開鍵に対応する秘密鍵を確認します(以前にリポジトリのクローンを作成したときに、jenkinsマシンの公開鍵をgitlabサーバーに渡しました)
[root @ jinkai src] #cat /root/.ssh/id_rsa
キーペアの生成時にパスワードを設定しなかったため、パスフレーズは空白のままにすることができ、以下も空白のままにして、[追加]をクリックするだけです。
資格情報でGitを選択すると、前の赤いプロンプトが消えており、問題がないことを示しています。
ビルドトリガー、ビルド環境、およびプレステップはすべてデフォルトで保持されます。ビルドの下のルートPOMはpom.xmlであり、目標とオプションはクリーンインストール-D maven.test.skip = trueを入力します。ポストステップ、ビルド設定はデフォルトで保持されます。 ;
クリックしてビルド後の操作手順を追加し、[war / earをコンテナーにデプロイ]を選択し、WAR / EARファイル* / .warを入力します。これは、すべてのwarパッケージを意味します。Contexパスを空白のままにし、コンテナーにTomcat8.xを選択します。 TomcatURLを入力してtomcatをインストールしますサーバーのアドレス、私のものはhttp://192.168.111.137:8080です
資格情報は[追加]をクリックします。ここのユーザー名はtomcat、パスワードはadmin123、ここのユーザー名とパスワードはtomcatバックエンド管理エントランスにログインするためのアカウントとパスワードです。その他はデフォルトのままで、追加するだけです。
次に、資格情報としてadmin / **を選択します
引き続きクリックしてビルド後の操作手順を追加し、ここで[編集可能な電子メール通知]、[プロジェクト受信者リスト]を選択して、英語のコンマで区切って独自のメールボックスを追加し、他の場所ではデフォルトのままにします
左下隅をプルダウンして[詳細設定]をクリックし、[トリガー]を見つけます。[トリガーの追加]でメール送信の条件を追加できます。[常に]の場合は問題ありません。
最後に、[適用して保存]をクリックします。
今すぐビルド
上記の構成が完了したら、ビルドを開始します。クリックして今すぐ作成
次に、ビルド履歴の下で#1を選択し、ドロップダウンしてコンソール出力をクリックすると、ビルドしたばかりの出力が表示されます。
最初のビルドは、Maven関連のものをたくさんダウンロードするため、少し遅くなります。最終結果を確認してください。ここにエラーがあります。
メールボックスメールを表示
jinkai01マシンに戻り、jdkをインストールします。
以前にTomcatがインストールされたときにjdkがjinkai02マシンにインストールされていたため、ここでjinkai02からjinkai01に直接コピーできます。
[root @ jinkai src] #scp -r 192.168.111.137:/ usr / local / jdk-14 / usr / local / jdk-14
[root @ jinkai src] #ls / usr / local / jdk-14 /
bin conf include jmods legal lib man release
jenkinsインターフェースに戻り、ホームページに戻り、「システム設定」→「グローバルツール構成」→「JDK、エイリアスのカスタマイズ」をクリックし、jdkをインストールしたパスを入力して、適用して保存します。
jenkinsサービスを再起動します。
[root @ jinkai src] #systemctl restart jenkins
jenkinsインターフェースに再度ログインし、java-testに戻り、再度ビルドして、コンソール出力を確認します。
メールボックスメールを表示
MavenのソースをAlibabaCloudのアドレスに変更します
[root @ jinkai〜] #vim /usr/local/src/apache-maven-3.6.3/conf/settings.xml
<ミラー>
<id> nexus-aliyun </ id>
<mirrorOf>中央</ mirrorOf>
<name> Nexus aliyun </ name>
<url> http://maven.aliyun.com/nexus/content/groups/public </ url> ;
</ミラー>
元のエラーは再構築後数時間報告されましたが、まだ解決されていないエラーがあります。後で説明しましょう
私たちの
要約すると、2つの主要なポイントがあります。
1)mavenがzrlogソースコードをコンパイルすると、zrlogのpom.xmlが読み取られ、maven 2バージョンが使用され、ダウンロードしたmavenはバージョン3であるため、jenkinsが自動的にバージョン2mavenライブラリのダウンロードを支援します。このプロセス非常に非常に遅く、多くの学生がここで立ち往生しています。
この問題の解決策は、MavenのソースをAlibabaCloudのアドレスに置き換えることです。メソッドリファレンス:
https://blog.csdn.net/zl1zl2zl3/article/details/83589977
2)データベース構成はzrlogソースコードで定義されています。特定のパスはここにあります
古いバージョン:src / main / webapp / WEB-INF / db.properties
新しいバージョン:web / src / main / webapp / WEB-INF / db.properties
デフォルトのデータベースサーバーは
demo.blog.zrlog.com:3306したがって、古いビデオでは、ブログがこのサーバーのデータベースに直接アクセスするため、展開後にブログに直接アクセスできます。現在のデータベースがダウンしているため、デプロイ時に全員が直接エラーを報告しました。
この問題を解決するためのアイデアは次のとおりです。
ソースコードで、データベース情報を直接定義します。例:データベースサーバー127.0.0.1データベースzrlogユーザーzrlogパスワードの設定、構成ファイルは次のようになります。
driverClass = com.mysql.cj.jdbc.Driver
user = zrlog
password = lishiming
jdbcUrl = jdbc \:mysql \://127.0.0.1 \:3306 / zrlog?characterEncoding \ = UTF-8&useSSL \ = false&serverTimezone \ = GMT
実験を容易にするために、学生はこのリポジトリhttps://github.com/aminglinux/zrlog/を使用できます。構成ファイルは、上記の内容に変更されています。
注:これの前提条件は、最初にzrlogライブラリを作成し、zrlogユーザーを承認し、データベースsqlファイルをソースコード(パス:zrlog / data / zrlog.sql)に配置し、次の方法でsqlをmysqlにインポートする必要があることです。あなた自身。