Jenkins に基づいて Docker 環境を自動的にパッケージ化してデプロイします

目次

1. docker-ceをインストールする

2. Alibaba Cloud イメージ アクセラレータ

3. Tomcat ベースイメージをビルドする 

4. Maven プロジェクトをビルドする


研究室環境

オペレーティング·システム

IPアドレス

CPU名

役割

CentOS 7.5

192.168.200.111

ギット

gitサーバー

CentOS 7.5

192.168.200.112

Jenkins git クライアント

ジェンキンスサーバー

CentOS 7.5

192.168.200.113

港湾労働者

ウェブサーバー

1. docker-ceをインストールする


192.168.200.113 にリモート ディレクトリを作成します。

[root@tomcat ~]# mkdir /data

192.168.200.113 マシンで、Tomcat 基本イメージをビルドします。基本イメージをビルドする前に、Docker と JDK をインストールする必要があります。

[root@tomcat ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

[root@tomcat ~]# yum -y install yum-utils device-mapper-persistent-data lvm2

[root@tomcat ~]# yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

[root@tomcat ~]# ls /etc/yum.repos.d/

[root@tomcat ~]# yum -y install docker-ce

 

[root@tomcat ~]# systemctl docker を開始
[root@tomcat ~]# systemctl docker を有効にする

 

[root@tomcat ~]# docker バージョン

 

2. Alibaba Cloud イメージ アクセラレータ


[root@tomcat ~]# cat << END > /etc/docker/daemon.json
 {          "registry-mirrors":[ "https://nyakyfun.mirror.aliyuncs.com" ]  } END


 

[root@tomcat ~]# systemctl daemon-reload
[root@tomcat ~]# systemctl restart docker

セントス 7 をインポートする

 

 

[root@tomcat ~]# cat centos-7-x86_64.tar.gz | ドッカーインポート - centos:7

[root@tomcat ~]# 個の docker イメージ

 

3. Tomcat ベースイメージをビルドする 


[root@tomcat ~]# mkdir docker-tomcat
[root@tomcat ~]# cd docker-tomcat/

この期間中にインポート: apache-tomcat-8.5.40.tar.gzおよびjdk-8u191-linux-x64.tar.gz

 

[root@tomcat docker-tomcat]# vim dockerfile

 セントスから:7

crashlinux のメンテナー <[email protected]>

#jdk と Tomcat をイメージにコピーします

./apache-tomcat-8.5.40.tar.gz /usr/local/ を追加します

./jdk-8u191-linux-x64.tar.gz /usr/local を追加

#変数を設定する

ENV JAVA_HOME /usr/local/jdk1.8.0_191

環境パス $JAVA_HOME/bin:$PATH

#コンテナが起動します

ENTRYPOINT /usr/local/apache-tomcat-8.5.40/bin/startup.sh && tail -F /usr/local/apache-tomcat-8.5.40/logs/catalina.out

 

[root@tomcat docker-tomcat]# docker build -t tomcat:v1 。

 

4. Maven プロジェクトをビルドする


上記の設定が完了したら、Jenkinsのホームページに戻り、「新しいタスク」を選択し、タスク名「probe-docker」を入力し、設定項目「Mavenプロジェクト」を選択して、画面下部の「OK」ボタンをクリックします。現在のページ。

 

 

 「OK」ボタンをクリック後、「ソースコード管理」を選択し、「Git」を選択して「リポジトリURL」のアドレスを設定します。

 

「ビルド」を選択 -> パッケージをクリーンアップ -Dmaven.test.skip=true

 

 

前の手順の後の「ビルド後のアクション」で「SSH 経由でビルド アートファクトを送信する」オプションを選択して続行します。

 scp 192.168.200.112: / root/.jenkins/workspace/probe-docker/psi-probe-web/target/probe.war /data/

docker run -itd --name tomcat-test -p 8090:8080 -v /data:/usr/local/apache-tomcat-8.5.40/webapps tomcat:v1 

 

 

上記の設定がすべて完了したら、「保存」をクリックします。次に、タスクがビルドされるまで、作成したばかりのエンジニアリング タスクで「probe-docker」->「Build new」をクリックします。進行状況バーをクリックすると、ビルド プロセスを表示できます。

 

 

 このエンジニアリング タスクが正常にビルドされ、ビルド後に、Docker プロジェクトの Docker Web 環境を作成するコマンドも正常に実行されたことがわかります。

[root@tomcat ~]# ls /data

[root@tomcat ~]# docker ps -a

 [root@tomcat ~]#docker exec -it 5e /bin/bash

[root@5eaecb826ff6 /]# vim /usr/local/apache-tomcat-8.5.40/conf/tomcat-users.xml

<role rolename="manager-gui"/>

  <role rolename="admin-gui"/>

  <user username=”tomcat”、password=”tomcat”、roles=”manager-gui,admin-gui”/>

</tomcat-users> # この行の前に上記の 3 行を追加します

 

 

[root@5eaecb826ff6 /]# cd /usr/local/apache-tomcat-8.5.40/conf

[root@5eaecb826ff6 conf ]# /usr/local/apache-tomcat-8.5.40/conf/

 [root@5eaecb826ff6 conf ]# /usr/local/apache-tomcat-8.5.40/bin/startup.sh

 

訪問: 192.168.200.113:8090/prode

ユーザー: トムキャット

パスワード: トムキャット

 

 

おすすめ

転載: blog.csdn.net/2302_77750172/article/details/132449247