Jenkins の紹介と Docker で Jenkins をデプロイする方法

Jenkins の紹介と Docker で Jenkins をデプロイする方法

1. 関連概念

1.1 Jenkins の概念:

Jenkins は、使用されるプラットフォームに関係なく、プロジェクトの継続的な統合と継続的な配信を可能にする強力なアプリケーションです。あらゆる種類のビルドや継続的インテグレーションを処理できる無料のソース コードです。 Jenkins との統合は、さまざまなテストおよびデプロイメント手法に使用できます。 Jenkins は継続的インテグレーションを可能にするソフトウェアです。

1.2 Jenkinsの目的:

1. ソフトウェア プロジェクトを継続的かつ自動的にビルド/テストします。
2. ソフトウェアの起動プロセスを監視し、問題を迅速に特定して処理し、起動効率を向上させます。

1.3 機能:

CI と CD をサポートするオープンソースの Java 言語開発継続的インテグレーション ツール。

インストール、展開、構成が簡単: yum 経由でインストールすることも、war パッケージをダウンロードして docker コンテナー経由ですばやくインストールおよび展開することもできるため、Web インターフェイスの構成管理が容易になります。

メッセージ通知とテスト レポート: RSS/電子メールを統合し、ビルド結果を RSS 経由で公開したり、ビルドが完了したときに電子メールで通知したり、JUnit/TestNG テスト レポートを生成したりします。

分散ビルド: Jenkins をサポートし、複数のコンピューターで一緒にビルド/テストできるようにします。

ファイル識別: Jenkins は、どのビルドがどの jar を生成するか、どのビルドがどのバージョンの jar を使用するかなどを追跡できます。

豊富なプラグインのサポート: 拡張プラグインをサポートしており、git、svn、maven、docker など、チームに適したツールを開発できます。

1.4 製品リリースプロセス:

  • 製品設計が完了 -> 開発者がコードを開発 -> テスターが機能をテスト -> 運用・保守担当者がリリースと起動
  • 継続的インテグレーション (CI)
  • 継続的デリバリー
  • 継続的なデプロイメント

Docker のデプロイメント

docker run -it --name jenkins --restart always --user root -p 10002:8080 -p 50000:50000 -v /var/run/docker.sock:/var/run/docker.sock -v $(which docker):/usr/bin/docker jenkins

外部Dockerは内部Dockerにマッピングされるため、dockerコマンドはJenkinsコンテナ内でも使用できます。

起動後にランダムなパスワードが設定されることに注意してください。
例:
1e3180604feb492b9ed9af4e418715d7

-it を付けて起動すると、コマンド ウィンドウに表示されます。

もちろん、コンテナに入って /var/jenkins_home/secrets/initialAdminPassword で見つけることもできます。

初めて Web ページを開くときに、このパスワードを入力する必要があります。

入力後、プラグインをインストールするように求められます。私はすべてをインストールすることを選択しました。もちろん、推奨されたものだけをインストールしたり、インストールするプラグインを手動で選択したりすることもできます。

参考: https://hub.docker.com/_/jenkins/

要約する

以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。これについてもっと知りたい場合は、次のリンクをご覧ください。

以下もご興味があるかもしれません:
  • DockerFile を使用して Jenkins で Java プロジェクトを自動的にデプロイする方法
  • Docker ベースの Jenkins のデプロイに関する詳細なチュートリアル
  • Docker+Jenkinsを使用して自動的にビルドおよびデプロイする
  • Docker コンテナは Jenkins を使用して Web プロジェクトをデプロイします (概要)
  • Jenkins初心者のためのDockerデプロイメントチュートリアルの詳細な説明

<<:  シンプルなメッセージボードケースを実現するJavaScript

>>:  innodb_flush_method 値メソッド (例の説明)

推薦する

一般的な Linux ツール vi/vim の完全版

なぜvimを学ぶのかLinuxには多数の設定ファイルがあるため、Linuxには多くのテキスト処理ツー...

純粋な CSS3 でモバイルの拡大と縮小の効果を実装するためのサンプル コード

この記事では、純粋な CSS3 を使用してモバイル端末での展開と折りたたみの効果を実装するサンプルコ...

HTMLウェブページのMETAタグのコンテンツを書く際のポイント

META タグは、HTML 言語のヘッダー領域にある補助タグです。作成者、日時、Web ページの説明...

Linux でリモート MySQL データベースを手動で展開する方法の詳細な説明

1. mysql をインストールします。次のコマンドを実行して、YUM ソースを更新します。 rpm...

Docker Compose を使用して Confluence を構築するチュートリアル

この記事は「Attribution 4.0 International (CC BY 4.0)」ライ...

Linux でファイルをあいまい検索するのに適したコマンドは何ですか?

1. はじめにこの記事では、主に Linux システムでコマンドライン ツールを使用してファイルを...

CSS+JS で水滴の波紋アニメーション ボタン効果を実装するサンプル コード

コードは次のようになります。 <!DOCTYPE html> <html lang...

Vue-router は現在の場所 (/path) へのナビゲーションを許可しません。エラーの原因と修正

目次エラーメッセージ原因エラーのデモンストレーション回避策方法1方法2方法3エラーメッセージ現在の場...

サーバー上で Nginx を使用して Springboot プロジェクトをデプロイする方法の詳細なチュートリアル (jar パッケージ)

1. Javaプロジェクトをjarパッケージにパッケージ化するここではMavenツールを使用します...

CSS の border 属性と display 属性の使い方の簡単な分析

境界プロパティの概要borderプロパティは要素の境界を設定します。境界線の3要素は、太さ、線の種類...

Nginx の場所に関する一般的なルールの優先順位の問題

目次1. 場所/マッチング2. 場所 = / 一致Locaitonには、完全一致(=)、プレフィック...

MySQL OOM (メモリオーバーフロー) の解決策

OOM は「Out Of Memory」の略で、メモリオーバーフローを意味します。メモリ オーバーフ...

HTML マルチメディア アプリケーション: Web ページにフラッシュ アニメーションと音楽を挿入する

1. HTML_falshアニメーションでのマルチメディアの応用(WebページへのFlashアニメー...

Xftp のダウンロードとインストールのチュートリアル (グラフィック チュートリアル)

Windows と Linux 間でファイルを転送する場合は、Xftp ツールを使用できます。この...

Vue3 における ref と reactive の詳細な説明と拡張

目次1. 参照と反応1. 反応的2.参照2. shallowRef と shallowReactiv...