多くの手順とソフトウェアを使用して、インフラストラクチャにコードをデプロイするのに多くの時間を費やしていますか?心配はいりません。ここは、最も広く使用されているオープンソース ツールである Jenkins のインストール方法を学ぶのに適した場所です。
読者ではありませんか?この関連するビデオ チュートリアルをご覧ください。 ビデオが表示されない場合広告ブロッカーが無効になっていることを確認してください。このチュートリアルでは、Jenkins を Ubuntu マシンにインストールする方法を学習します。これにより、ボタンをクリックするだけでコードをビルドおよびデプロイできます。
読み進めて、インストールを開始してください!
前提条件
この投稿は、段階的なチュートリアルになります。先に進むには、Ubuntu マシンがあることを確認してください。このチュートリアルでは、apache がインストールされた Ubuntu 18.04 を使用します。
Ubuntu マシンへの Java バージョン 11 のインストール
Jenkins は継続的インテグレーション(CI)および継続的デプロイ(CD)ツールであり、Apache tomcat や Glassfish などのさまざまなサーブレット コンテナで実行できます。ただし、このデモでは、組み込みの Java サーブレット コンテナー サーバーで Jenkins を実行します。
Jenkins を操作するために使用できる Java 実装は複数ありますが、OpenJDK が最も一般的であり、このチュートリアルでインストールして使用します。
1. お気に入りの SSH クライアントを使用して Ubuntu マシンにログインします。
2. 次に、次のコマンドを実行して、~/install_jenkins_demo という名前のディレクトリを作成します。 そのディレクトリに切り替えます。
mkdir ~/install_jenkins_demo
cd ~/install_jenkins_demo
3. apt install
を実行します 以下のコマンドを実行して、マシンに Java をインストールします。
# Installing Java Version: Java SE 11 (LTS)
sudo apt install default-jdk
4. 最後に、以下のコマンドを実行して、マシンにインストールされている Java のバージョンを確認します。これにより、Java が正常にインストールされたことを確認できます。
# Checking the Version of Java to verify Java installation.
java -version
Ubuntu 18.04 LTS インスタンスに Jenkins をインストールする
Java が Ubuntu マシンにインストールされたので、マシンに Jenkins をインストールします。 Jenkins のインストールは、マシンに他のパッケージをインストールする方法とよく似ています。
まだ SSH クライアントにログインしている場合:
1. まず、apt update
を実行します コマンドを実行してシステム パッケージを更新します。
sudo apt update
2. 次に、wget
を実行します。 以下のコマンドを実行して、Jenkins 公開鍵をシステムに追加します。
公開鍵を追加すると、Jenkins サイトで Jenkins 公式リポジトリまたは必要なパッケージをダウンロードできるようになります。
wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add -
3. 次のコマンドを実行して、Jenkins 公式リポジトリをシステムに追加し、システムを更新します。
# Adding the Jenkins official repository to the system
sudo sh -c 'echo deb https://pkg.jenkins.io/debian-stable binary/ > \
/etc/apt/sources.list.d/jenkins.list'
# Updating the package
sudo apt-get update
4. 次に、以下のコマンドを install
に対して実行します。 Jenkins
パッケージ。
# Installing the Jenkins Package
sudo apt-get install Jenkins
5. 最後に、service
を実行します。 以下のコマンドを実行して、Jenkins サービスのステータスを確認します。 # Validating the Jenkins service on ubuntu machine service jenkins status
# Validating the Jenkins service on ubuntu machine
service jenkins status
以下に示すように、ステータスは Jenkins サービスがアクティブであることを示しています .
Jenkins インスタンスの構成
ここまでで、Jenkins のインストールの半分が完了しました。ただし、実際に使用する前に、基本的な設備をセットアップする必要があります。どのように? Jenkins を設定する最初のステップは、新しくインストールした Jenkins のロックを解除することです。
まだ SSH クライアントにログインしている場合:
1. お気に入りのブラウザを開き、jenkins-ip:8080 のように、サーバーの IP アドレスに続いてポート 8080 に移動します。 リンクに移動したら、管理パスワードを入力して Jenkins のロックを解除する必要があります。管理パスワードは /var/lib/jenkins/secrets/initialAdminPassword
に保存されます サーバー上のディレクトリ (ステップ 2)。
2. cat
を実行します 以下のコマンドを使用して、/var/lib/jenkins/secrets/initialAdminPassword
からマシンに管理者パスワードを追加します ディレクトリ。
cat /var/lib/jenkins/secrets/initialAdminPassword
以下に示すように、出力の巨大な文字列は管理者パスワードです。 Jenkins のロックを解除するために必要になるため、管理者パスワードをメモします (ステップ 3)。
3. Web ブラウザに戻ります (Jenkins のロックを解除 ページ) を開き、ステップ 2 でメモした管理者パスワードを入力します。
Jenkins のロックを解除すると、ブラウザーはプラグインを使用して Jenkins インスタンスをカスタマイズするページにリダイレクトします (ステップ 4)。
4. Jenkins のカスタマイズ ページで、[推奨プラグインをインストールする] をクリックします。 オプション。
Jenkins Plugin は、Jenkins と統合され、Git プラグインなどのタスクを実行できるサードパーティ ツールです。 Git プラグインを使用すると、Git リポジトリに接続したり、Git コマンドを実行したりできます。
5. 以下に示すように管理者ユーザーの詳細を入力し、[保存して続行] をクリックします。 管理者ユーザーを作成します。この管理者ユーザーを使用すると、Jenkins UI ダッシュボードまたは Jenkins インスタンスを操作できます。
[保存して続行] をクリックするとすぐに、手順 5 に示す [インスタンスの構成] 画面が表示されます。
デフォルトでは、Jenkins にはユーザー名/パスワード (
admin: admin
) で作成された管理者ユーザーがいます。 ) ただし、選択した管理者ユーザーを作成するオプションは引き続き提供されます。カスタム管理者ユーザーを作成したくない場合は、スキップして管理者として続行できます。
6. 最後に、[保存して終了] をクリックします。 インスタンス構成を保存します。
インスタンス構成では、使用する Jenkins URL を指定できます。この場合、デフォルトの URL (つまり、server-ip:8080) を使用します。
Jenkins インスタンスのデフォルト ポートの変更
以前、Jenkins はデフォルトでポート 8080 で実行されることを学びましたが、これで問題ありません。しかし、Apache や NGINX など、同じポートで他のアプリケーションを実行する必要がある場合はどうすればよいでしょうか?心配ない! Jenkins のデフォルト ポート (8080) を変更して、他のポートで Jenkins インスタンスを実行できます。
1. /etc/default/Jenkins を開きます 任意のテキスト エディターでファイルを開き、既定のポートを 8080 から 9090 に変更して、変更を保存します。
2. 次に、以下のコマンドを実行して Jenkins を再起動し、更新された構成が有効になるようにします。
sudo systemctl restart jenkins
3. 最後に、Jenkins の URL に移動しますが、今回は、以下に示すようにポートを 9090 に変更します。
SSL 証明書を使用して Jenkins を安全に (HTTPS) 実行する
ここまでで、Jenkins インスタンスはポート 9090 で完全に実行されています。しかし、安全でしょうか?いいえ、ちがいます。 SSL 証明書を有効にすることで、Jenkins インスタンスを保護し、攻撃者による侵害を回避します。
SSL 証明書は主に、外部認証局から入手できる証明書がない場合に、ローカル マシンでテストするために使用されます。
Jenkins インスタンスを保護するには:
1. 以下の各コマンドを実行して、~/certificates という名前のディレクトリを作成します。 証明書を保存し、そのディレクトリに移動します。
mkdir ~/certificates
cd ~/certificates
2. 次に、次の openssl
を実行します コマンドを実行して、証明書署名要求 (CSR) と秘密鍵を生成します。
openssl req -x509 -newkey rsa:4096 -keyout apache.key -out apache.crt -days 365 -nodes
3. 次のコマンドを実行して、別のディレクトリを作成します (/etc/apache2/ssl
) ~/certificates/
から証明書を移動します。 /etc/apache2/ssl
へのディレクトリ ディレクトリ。
mkdir /etc/apache2/ssl
mv ~/certificates/* /etc/apache2/ssl/.
4. デフォルトの SSL Apache サイト構成ファイル (/etc/apache2/sites-available/default-ssl.conf
)、以下の行を追加します。
を必ず置き換えてください サーバーの実際の名前で。
以下のコードでは、以前に SSL 証明書をコピーした (証明書キーとファイル) 場所を指定します。また、Jenkins がポート 9090
でリダイレクトするようにします。 、 ProxyPass
を追加します 引数を指定して ProxyPreserveHost
をオンにします .
ServerName
SSLCertificateFile /etc/apache2/ssl/apache.crt
SSLCertificateKeyFile /etc/apache2/ssl/apache.key
ProxyPreserveHost On
ProxyPass / http://127.0.0.1:9090/
ProxyPassReverse / http://127.0.0.1:9090/
5. 次に、以下の各コマンドを実行して SSL モジュールを有効にし、変更したサイトを有効にし (手順 4)、Apache サービスを再起動します。
# Enable the SSL module, so you can work with SSL connections.
sudo a2enmod ssl proxy proxy_http proxy_balancer
# Enable the site you modified (step four)
sudo a2ensite default-ssl.conf
# Restart the Apache service
sudo service apache2 restart
6. 最後に、Jenkins インスタンスに移動しますが、今回は以下に示すように HTTPS を使用します。
ご覧のとおり、Jenkins は HTTPS ポートで SSL 接続を使用して正常に開いています。 安全ではありませんという警告記号が表示されても心配しないでください メッセージ。認証局ではなく自己署名証明書 (自分で作成) を使用しているため、この警告が表示されます。
結論
このチュートリアルでは、Jenkins を Ubuntu マシンにインストールする方法を学び、Jenkins インスタンスに安全にアクセスできることを確認しました。
では、Jenkins をどのように活用する予定ですか?おそらく Web 展開を自動化しますか?または、Jenkins CI CD パイプラインを作成して、ソフトウェア開発プロセスを改善しますか?