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 コンソールをチェックして、ビルドが成功したかどうかを確認します。