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 の MySQL でリモート接続を承認する方法

注意: 他のマシン (IP) は、承認なしではクライアント経由で MySQL データベースに接続でき...

Node.js を使用して C# のデータ テーブル エンティティ クラス生成ツールを作成する方法

Microsoft は T4 テンプレートを提供していますが、使用するのが非常に難しいと思います。ス...

Vueナンバープレート検索コンポーネントの使い方の詳しい説明

参考までに、シンプルなナンバープレート入力コンポーネント(vue)です。具体的な内容は次のとおりです...

クロスドメイン js フロントエンドの 8 つの実装ソリューション

目次1. jsonp クロスドメイン2. document.domain + iframe クロスド...

特殊効果メッセージボックスを実現するネイティブJS

この記事では、ネイティブ JS で実装された特殊効果メッセージ ボックスを紹介します。効果は次のとお...

nginxで複数のサーバーを簡単に構成する方法

1: nginx のインストール方法については詳しく説明しません。Baidu で検索してください。 ...

2 つの MySQL ユーザー削除ステートメント (delete user と drop user) の違い

ヒント: MySQL では、ユーザーの作成と削除が頻繁に必要になります。ユーザーを作成するときは、通...

CSS3 を使用して楕円軌道の回転を実装するサンプルコード

最近、次のような効果を達成する必要がある最初は、CSS3D回転を使用して記述すると、次の効果しか得ら...

MySQLは「order by」がどのように機能するかを簡単に理解します

並べ替えの場合、order by は非常に頻繁に使用するキーワードです。インデックスに関するこれまで...

Nginx ストリーム構成プロキシ (Nginx TCP/UDP ロード バランシング)

序章nginx が優れたリバース プロキシ サービスであることは誰もが知っています。nginx を使...

docker run後にコンテナがExited (0)と表示される問題を解決する

Centos7 上で openresty 用の Dockerfile を作成し、ビルドしました。 d...

Tik Tok サブスクリプション ボタンのアニメーション効果を実現する CSS

少し前にTik Tokを見ていて、フォローするときのボタンアニメーションがとても美しいと思ったのと、...

Centos での TCPWrappers アクセス制御の実装

1. TCP ラッパーの概要TCP Wrappers は TCP サービス プログラムを「ラップ」し...

vue-element-admin プロジェクトのインポートとエクスポートの実装

vue-element-admin インポートコンポーネントのカプセル化テンプレートとスタイルまず、...

Ubuntu 12.04 でカーネルツリーを構築する実装プロセスの詳細な説明

まず使用しているカーネルのバージョンを確認してくださいlin@lin-仮想マシン:~$ uname ...