この記事では、Spring boot + Maven プロジェクトのデプロイメントを例に、Code Cloud をコード ホスティング リポジトリとして使用し、CentOS 7 上に Jenkins 継続的インテグレーション環境を構築します。 1. 準備 1.1 Java環境のインストール Jenkins は Java に基づいて開発された継続的インテグレーション ツールであり、Java 環境で実行する必要があります。システムに Java がインストールされているかどうかを確認するには、次のコマンドを使用します。 yum インストール済みリスト | grep jdk そうでない場合は、yum search コマンドを使用して openjdk のバージョンを見つけ、インストールする適切な jdk を選択します。 yum 検索 openjdk yum -y java-1.8.0-openjdk-devel をインストールします Java が正常にインストールされていることを確認します。 java バージョン 1.2 Mavenをインストールする 次の 2 つのコマンドを順番に実行します。 wget http://repos.fedorapeople.org... -O /etc/yum.repos.d/epel-apache-maven.repo yum -y でApache-Mavenをインストールします Maven が正常にインストールされていることを確認します。 mvn -v 1.3 Gitをインストールする yum を介して直接インストールします。インストールが完了したら、バージョンをチェックしてインストールが成功したかどうかを確認します。 yum -y gitをインストール git --version 2. Jenkins をインストールして設定します。 2.1 Jenkinsをインストールする 次の 3 つのコマンドを順番に実行します。 sudo wget https://pkg.jenkins.io/redhat... -O /etc/yum.repos.d/jenkins.repo sudo rpm --import https://pkg.jenkins.io/redhat... yum -y ジェンキンスをインストール 以前に Jenkins からキーがインポートされている場合、キーがすでに存在するため rpm --import は失敗します。無視してインストールを続行します。 2.2 Jenkinsを起動する Jenkins を起動し、起動時に自動的に起動するように設定します。 systemctl jenkins.service を起動します chkconfig jenkins オン Jenkins はデフォルトでポート 8080 を使用します。次のリンクにアクセスすると、Jenkins Web インターフェイスが表示されます。 http://<サーバーアドレス>:8080 アクセスできない場合は、ファイアウォールで開いているポートがあるかどうかを確認するか、netstat -ntulp コマンドを使用してポートが占有されているかどうかを確認します。 2.3 Jenkinsの導入 Jenkins に初めてアクセスするときは、管理者パスワードを入力する必要があります。初期パスワードを表示するには、次のコマンドを使用します。 cat /var/lib/jenkins/secrets/initialAdminPassword プラグインをインストールするには、デフォルトで 2.4 Jenkinsの設定
2.4.1 JDKパスを確認する yum を使用してインストールされたソフトウェアは、環境変数の設定には役立ちません。 echo $JAVA_HOME コマンドを直接使用してもパスを確認することはできません。 まず、次のコマンドを使用してパスを確認します。 どのJava 表示される結果は /usr/bin/java ですが、実際にはこれは単なるソフト リンクであり、JDK が配置されている実際のディレクトリではありません。 引き続き次のコマンドを使用して表示します。 ls -l /usr/bin/java /usr/bin/java が /etc/alternatives/java を指していることがわかります。残念ながら、これは実際に探しているパスではありません。 追跡を続ける: ls -l /etc/alternatives/java 結果は 同様に、Maven が配置されているパスを取得できます。 2.4.2 プラグインのインストールと設定
SSHパスワードフリーログインを設定する プラグインを設定する前に、Jenkins サーバーでキー ペアを生成します。次のコマンドを実行して、jenkins ユーザーに切り替えます。 sudo su ジェンキンス 切り替えることができない場合は、/etc/passwd ファイルを開き、jenkins の行を見つけて、/bin/fasle を /bin/bash に変更します。 切り替えが成功すると、コマンドプロンプトのユーザー名は bash-4.2$ になる場合があります。ユーザー名を通常どおりに表示したい場合は、root ユーザーに戻って、次の操作を実行します。 vi ~/.bash_profileファイルを編集します。 その後、jenkins ユーザーに切り替えると、正常に表示されます。次に、次のコマンドを実行してキー ペアを生成します。 ssh-keygen -t rsa Enter キーを押して完了すると、id_rsa と id_rsa.pub の 2 つのファイルが /var/lib/jenkins/.ssh/ ディレクトリに生成されます。 id_rsa.pub ファイルの内容を、アプリケーション サーバーの /root/.ssh/authorized_keys ファイルの末尾に、1 行に 1 つのキーずつ追加します。アプリケーション サーバーであることに注意してください。アプリケーション サーバーで ssh サービスを再起動します。 systemctl sshd.service を再起動します。 これで、Jenkins はパスワードなしでアプリケーション サーバーにログインできるようになりました。jenkins ユーザーとしてコマンドを実行してテストします。 ssh root@<アプリケーション サーバーのアドレス> 最初の接続では確認プロンプトが表示されるので、「yes」と入力してください。このステップは非常に重要です。初回の接続時に手動での確認がないと、Jenkins は接続できません。 Public over SSHプラグインの設定
キーへのパス: 生成された id_rsa キー ファイルのパスを入力します。 保存〜 3. Mavenプロジェクトをデプロイする 「新規項目」をクリックして新しいタスクを作成し、タスク名を入力して、Maven プロジェクトを選択し、「OK」をクリックします。 [全般] で、[古いビルドを破棄する] をオンにし、保持する最大日数とビルド ファイルの最大数を設定します。そうしないと、各ビルドによって生成されたファイルが保持され、ディスク領域を占有します。 Jenkins がコードを取得するリモート コード リポジトリ アドレスを構成します。プロンプトがリポジトリの読み取りに失敗した場合は、次の可能性があることに注意してください。
Maven パッケージ化の指示を入力します。-DMaven.test.skip=true はテストをスキップすることを意味します。 次のステップは、jar パッケージを Jenkins サーバーからアプリケーション サーバーにコピーし、ビルドを設定した後に実行することです。 名前: 先ほど作成したサービスを選択します。 4. 結論 実際、プロセス全体はそれほど複雑ではありません。Jenkins はリモート コード ライブラリからコードを取得し、Maven 命令を呼び出してプロジェクトをパッケージ化し、Jenkins はパッケージ化されたファイルをリモート アプリケーション サーバーにコピーし、リモート アプリケーション サーバーでシェル命令を実行してプログラムを起動します。 Jenkins のリモート操作は両方とも SSH を介して完了しました。 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: React+Koa によるファイルアップロードの実装例
>>: Centos 6.9 に MySQL をインストールするための詳細なチュートリアル
NULL が頻繁に使用されるのはなぜですか? (1)Javaのnull Java の NullPoi...
Ubuntu 20.04 がリリースされ、多くの新機能が導入されましたが、慣れていない機能も多くあ...
目次1. redo ログ (MySQL ストレージ エンジン InnoDB のトランザクション ログ...
目次序文場合最適化まとめ序文バックエンド開発では、一度に大量のデータがロードされ、メモリやディスク ...
目次背景DHCPの設定DHCP ファイル (動的ホスト構成プロトコル) の編集tftp 設定sysl...
MySQL 5.7 以降では、多くのセキュリティ更新が追加されました。旧バージョンのユーザーは慣れて...
1 はじめにデータベースを設計する場合、画像や音声ファイルをデータベースに挿入することは避けられませ...
この記事ではMySQL 5.7.20のインストールと設定方法を記録し、皆さんと共有します1. MyS...
目次refとは何かrefの使い方DOM要素に配置するクラスコンポーネントに配置する関数コンポーネント...
これ以上無駄話をして時間を無駄にしないので、今日の話題を始めましょう。 HTML のメタタグ1. メ...
目次mysql 権限制御権限システムテーブル変更後にMySQLの権限を有効にする方法権限の付与と取り...
この記事では、参考のために、WeChatアプレットのチャットルームを実装するための具体的なコードを例...
関連記事:初心者が学ぶ HTML タグ (2)導入された HTML タグは、必ずしも XHTML 仕...
最近、 Three.jsでReactを使用して、720 度のパノラマ写真を閲覧できるプロジェクトを構...
独自のデモを作成するときに、display:flex を使用して垂直方向の中央揃えを実現したいと思い...