Jenkins+Docker でワンクリック自動デプロイメントプロジェクトを実現

1. 環境構築

環境:centos7+git(gitee)

実装手順を簡単に説明します。docker に jenkins をインストールし、jenkins の基本情報を構成し、Dockerfile とシェル スクリプトを使用してプロジェクトを自動的にプル、パッケージ化、実行します。

2.ドッカーをインストールする

Docker がコミュニティ バージョン CE をインストールする

yum パッケージが最新のものに更新されていることを確認してください

yum update

古いバージョンの docker をアンインストールします (古いバージョンがインストールされている場合)

yum remove docker  docker-common docker-selinux docker-engine

必要なパッケージをインストールする

yum install -y yum-utils device-mapper-persistent-data lvm2

yum ソースをセットアップする

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

ドッカーをインストールする

yum install docker-ce  #由于repo中默认只开启stable仓库,故这里安装的是最新稳定版17.12.0
yum install <自己的版本>  # 例如:sudo yum install docker-ce-17.12.0.ce

起動とブート

systemctl start docker
systemctl enable docker

インストールが成功したことを確認する

docker version

3.Jenkinsをインストールする

Docker のインストールは非常に簡単です。8080 がすでに占有されているかどうかを確認してください。変更されたポートを占有している場合

docker run --name jenkins -u root --rm -d -p 8080:8080 -p 50000:50000 -v /var/jenkins_home:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock jenkinsci/blueocean

ポート番号を変更しない場合

インストールが完了したら、アドレス -> http://{Jenkins がデプロイされているサービス IP}:8080 にアクセスします。

3.1. Jenkins の初期化

詳細については、公式 Web サイトのチュートリアルを参照してください -> https://www.jenkins.io

3.2. Jenkins のロックを解除する

Jenkins コンテナーを入力します: docker exec -it {Jenkins コンテナー名} bash

たとえば、 docker exec -it jenkins bash

パスワードの表示: cat /var/lib/jenkins/secrets/initialAdminPassword

パスワードを入力してください
ここに画像の説明を挿入します

3.3. プラグインのインストール

ここに画像の説明を挿入します

3.4. 管理者アカウントの作成

4. システム構成

4.1. 必要なプラグインをインストールする

[ホームページ] – [システム管理] – [プラグイン管理] – [オプションのプラグイン]に入ります。

1.Maven統合をインストールする

2. Publish Over SSH をインストールします (リモート プッシュが必要ない場合は、インストールは必要ありません)

3. Gitee コード クラウドを使用する場合は、Gitee プラグインをインストールします (Git には付属しているため、インストールする必要はありません)。

4.Maven の構成

[ホームページ] – [システム管理] – [グローバル構成] に入り、一番下の Maven – Maven インストールに移動します。
ここに画像の説明を挿入します

5. タスクの作成

[新しいタスク]をクリックし、タスク名を入力し、クリックしてフリースタイル ソフトウェア プロジェクトをビルドします

ここに画像の説明を挿入します[ソースコード管理]-[Git]をクリックし、ウェアハウスアドレスを入力し、証明書を追加し、証明書を選択します。

ここに画像の説明を挿入します
ここに画像の説明を挿入します[ビルドトリガー] – [ビルド] – [ビルドステップの追加] – [トップレベルMavenゴールの呼び出し] – [設定の入力] – [保存]をクリックします。

ここに画像の説明を挿入します
ここでのコマンドは、jar パッケージが生成できるかどうかを確認するために install するだけです。

clean install -Dmaven.test.skip=true

ここに画像の説明を挿入します

6. テスト

ビルド ボタンをクリックします
ここに画像の説明を挿入しますログを表示します

ビルド中のタスクをクリックするか、タスク名をクリックして詳細ページに入り、コンソール出力をチェックして、jar パッケージに正常にビルドできるかどうかを確認します。

ここのログは、依存する jar パッケージの初回ダウンロードに失敗する可能性があります。成功するには、もう一度 [ビルド] をクリックしてください。

ここに画像の説明を挿入します
ここに画像の説明を挿入します
プロジェクトの場所を表示する

cd /var/jenkins_home/workspace

7. プロジェクトを実行する

プロジェクトと Jenkins は同じサーバー上にあるため、シェル スクリプトを使用してプロジェクトを実行します。原則として、dockerfile を通じてイメージをパッケージ化してから docker を実行します。

7.1、dockerファイル

Springboot プロジェクトのルート ディレクトリに Dockerfile という名前の新しいファイルを作成します。サフィックス名がないことに注意してください。その内容は次のとおりです (大まかに、jdk8 を使用し、jar パッケージを docker に追加し、prd 構成ファイルを実行します)

FROM jdk:8
VOLUME /tmp
ADD target/zx-order-0.0.1-SNAPSHOT.jar app.jar
EXPOSE 8888
ENTRYPOINT ["Bash","-DBash.security.egd=file:/dev/./urandom","-jar","/app.jar","--spring.profiles.active=prd"]

7.2. jenkins 設定の変更

ここに画像の説明を挿入します

ここに画像の説明を挿入します

-t:指定新镜像名
.:表示Dockfile在当前路径
cd /var/jenkins_home/workspace/zx-order-api
docker stop zx-order || true
docker rm zx-order || true
docker rmi zx-order || true
docker build -t zx-order .
docker run -d -p 8888:8888 --name zx-order zx-order:latest

最後に、jenkins コンソールをチェックして、ビルドが成功したかどうかを確認します。

翻訳:https://mp.weixin.qq.com/s/JAD9fROZ_Sx-_9i7kld5nw

おすすめ

転載: blog.csdn.net/qq_44787816/article/details/131482690