kubernetes入門(下)

Harbor鏡像倉庫,企業jenkins CI平臺

==================================================

官方地址:https://vmware.github.io/harbor/cn/

image.png


[root@k8s-node1 web]# rz -y

rz waiting to receive.

Starting zmodem transfer.  Press Ctrl+C to cancel.

Transferring docker-compose-Linux-x86_64...

  100%   11462 KB    11462 KB/sec    00:00:01       0 Errors  

  ansferring harbor-offline-installer-v1.9.1.tgz...

  100%  604602 KB    4915 KB/sec    00:02:03       0 Errors   


[root@k8s-node1 web]# ls

docker-compose-Linux-x86_64  harbor-offline-installer-v1.9.1.tgz

[root@k8s-node1 web]# cp docker-compose-Linux-x86_64 docker-compose

[root@k8s-node1 web]# ll

total 627532

-rw-r--r-- 1 root root  11737584 Feb  5 12:19 docker-compose

-rw-r--r-- 1 root root  11737584 Dec  8  2018 docker-compose-Linux-x86_64

-rw-r--r-- 1 root root 619113214 Nov  2 16:23 harbor-offline-installer-v1.9.1.tgz

[root@k8s-node1 web]# chmod +x docker-compose

[root@k8s-node1 web]# mv docker-compose /usr/bin/


[root@k8s-node1 web]# tar xf harbor-offline-installer-v1.9.1.tgz 

[root@k8s-node1 web]# ls

docker-compose-Linux-x86_64  harbor  harbor-offline-installer-v1.9.1.tgz

[root@k8s-node1 web]# cd harbor

[root@k8s-node1 harbor]# ls

harbor.v1.9.1.tar.gz  harbor.yml  install.sh  LICENSE  prepare

[root@k8s-node1 harbor]# vim harbor.yml 

hostname: reg.mydomain.com ========》hostname: 192.168.1.111

[root@k8s-node1 harbor]# ./prepare 

[root@k8s-node1 harbor]# ./install.sh 

image.png

image.png

默認用戶名和密碼:

username:admin

password:Harbor12345

image.png


添加可信任地址:

[root@k8s-node1 harbor]# cat /etc/docker/daemon.json 

{

      "registry-mirrors": ["http://f1361db2.m.daocloud.io"],

      "insecure-registries": ["192.168.1.111"]    ---->harbor的地址

}



[root@k8s-node1 harbor]# docker login 192.168.1.111

Username: admin

Password: 

WARNING! Your password will be stored unencrypted in /root/.docker/config.json.

Configure a credential helper to remove this warning. See

https://docs.docker.com/engine/reference/commandline/login/#credentials-store


Login Succeeded




推送tomcat鏡像:

[root@k8s-node1 ~]# docker tag 69625b9fd36e 192.168.0.111/library/tomcat-8.5.43

[root@k8s-node1 ~]# docker push 192.168.0.111/library/tomcat-8.5.43

推送nginx鏡像:

[root@k8s-node1 ~]# docker tag 8da7e9646f5c 192.168.0.111/library/nginx

[root@k8s-node1 ~]# docker push 192.168.0.111/library/nginx

推送php鏡像:

[root@k8s-node1 ~]# docker tag 5e9755a23787 192.168.0.111/library/php-5.6.36

[root@k8s-node1 ~]# docker push 192.168.0.111/library/php-5.6.36

image.png


image.png

image.png

image.png


自動化構建流程:

先安裝好吧docker並啓動docker

機器設計:

[root@jenkins ~]# cat >> /etc/hosts << EOF

> 192.168.1.111       harbor

> 192.168.1.112       gitlab

> 192.168.1.113       jenkins

> EOF

[root@jenkins ~]# cat /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4

::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.1.111       harbor

192.168.1.112       gitlab

192.168.1.113       jenkins


安裝gitlab

[root@gitlab ~]# mkdir gitlab

[root@gitlab ~]# cd gitlab/

[root@gitlab gitlab]# ls

[root@gitlab gitlab]# docker run -d \

 --name gitlab \

 -p 8443:443 \

 -p 9999:80 \

 -p 9998:22 \

 -v $PWD/config:/etc/gitlab \

 -v $PWD/logs:/var/log/gitlab \

 -v $PWD/data:/var/opt/gitlab \

 -v /etc/localtime:/etc/localtime \

 chenjisong/gitlab-ce-zh:latest


Unable to find image 'chenjisong/gitlab-ce-zh:latest' locally

latest: Pulling from chenjisong/gitlab-ce-zh

Image docker.io/chenjisong/gitlab-ce-zh:latest uses outdated schema1 manifest format. Please upgrade to a schema2 image for better future compatibility. More information at https://docs.docker.com/registry/spec/deprecated-schema-v1/

8ee29e426c26: Downloading 

6e83b260b73b: Downloading 

e26b65fd1143: Downloading 

40dca07f8222: Downloading 

b420ae9e10b3: Downloading 

a218309dd589: Downloading 

5c60fd7ba0ce: Downloading 

659c2144b5a3: Downloading 

8289bbac0d0e: Downloading 

31bbd150e8a7: Downloading 

9114e78243fa: Downloading 

e242e5cd1314: Downloading 

0a079dc3f92c: Downloading 

f0e195b09fd2: Downloading 

6e23346e2f58: Downloading 

91f00659be69: Downloading 

a1031bcc5b2c: Downloading 

e3074327c7b1: Downloading 

a917618dbe42: Downloading 

latest: Pulling from chenjisong/gitlab-ce-zh

8ee29e426c26: Pull complete 

6e83b260b73b: Pull complete 

e26b65fd1143: Pull complete 

40dca07f8222: Pull complete 

b420ae9e10b3: Pull complete 

a218309dd589: Pull complete 

5c60fd7ba0ce: Pull complete 

659c2144b5a3: Pull complete 

8289bbac0d0e: Pull complete 

31bbd150e8a7: Pull complete 

9114e78243fa: Pull complete 

e242e5cd1314: Pull complete 

0a079dc3f92c: Pull complete 

f0e195b09fd2: Pull complete 

6e23346e2f58: Pull complete 

91f00659be69: Pull complete 

a1031bcc5b2c: Pull complete 

e3074327c7b1: Pull complete 

a917618dbe42: Pull complete 

Digest: sha256:62686b74c6fca5ece8ed582d03a126c5988423dd8a19ce70e9a22357ffcaf1c8

Status: Downloaded newer image for chenjisong/gitlab-ce-zh:latest

3a42914e2a9cde75b453936df7b7a739eb7f4d9fdde3616c884def4416ad4888


檢查gitlab是否OK

[root@gitlab gitlab]# docker ps -l

CONTAINER ID        IMAGE                            COMMAND             CREATED             STATUS                   PORTS                                                               NAMES

3a42914e2a9c        chenjisong/gitlab-ce-zh:latest   "/assets/wrapper"   6 minutes ago       Up 6 minutes (healthy)   0.0.0.0:9998->22/tcp, 0.0.0.0:9999->80/tcp, 0.0.0.0:8443->443/tcp   gitlab


訪問地址:http://IP:9999


安裝jenkins:

準備環境:

### 3.1 準備JDK和Maven環境

[root@jenkins src]# mv apache-maven-3.5.0 /usr/local/

[root@jenkins src]# mv jdk1.8.0_45 /usr/local/


[root@jenkins ~]# docker run -d --name jenkins -p 80:8080 -p 50000:50000 -u root  \

  -v /opt/jenkins_home:/var/jenkins_home \

  -v /var/run/docker.sock:/var/run/docker.sock   \

  -v /usr/bin/docker:/usr/bin/docker \

  -v /usr/local/apache-maven-3.5.0:/usr/local/maven \

  -v /usr/local/jdk1.8.0_45:/usr/local/jdk \

  -v /etc/localtime:/etc/localtime \

  --name jenkins jenkins/jenkins:lts


Unable to find image 'jenkins/jenkins:lts' locally

lts: Pulling from jenkins/jenkins

Image docker.io/jenkins/jenkins:lts uses outdated schema1 manifest format. Please upgrade to a schema2 image for better future compatibility. More information at https://docs.docker.com/registry/spec/deprecated-schema-v1/

146bd6a88618: Downloading 

9935d0c62ace: Downloading 

db0efb86e806: Downloading 

e705a4c4fd31: Downloading 

3d3bf7f7e874: Downloading 

49371c5b9ff6: Downloading 

3f7eaaf7ad75: Downloading 

c174316783db: Downloading 

024826a29afe: Downloading 

51f2bbab8803: Downloading 

6ce657881f7a: Downloading 

a5270cffee3a: Downloading 

083f0f43b51d: Downloading 

215073008675: Downloading 

ffda073f8127: Downloading 

3672d2dcba21: Downloading 

906db372d194: Downloading 

66fb46692c0e: Downloading 

3a9a81b17595: Downloading 

lts: Pulling from jenkins/jenkins

146bd6a88618: Pull complete 

9935d0c62ace: Pull complete 

db0efb86e806: Pull complete 

e705a4c4fd31: Pull complete 

3d3bf7f7e874: Pull complete 

49371c5b9ff6: Pull complete 

3f7eaaf7ad75: Pull complete 

c174316783db: Pull complete 

024826a29afe: Pull complete 

51f2bbab8803: Pull complete 

6ce657881f7a: Pull complete 

a5270cffee3a: Pull complete 

083f0f43b51d: Pull complete 

215073008675: Pull complete 

ffda073f8127: Pull complete 

3672d2dcba21: Pull complete 

906db372d194: Pull complete 

66fb46692c0e: Pull complete 

3a9a81b17595: Pull complete 

Digest: sha256:54486ebab0d42582a84fc35b184c4f5cf9998d139bbec552bc6ec8c617c4a055

Status: Downloaded newer image for jenkins/jenkins:lts

c4c0600057cb8adf1d8c37c76a8f14e9a932cd6d1d76b195f3e7f33083bc8917


檢查jenkins是否OK

[root@jenkins ~]# docker ps -l

CONTAINER ID        IMAGE                 COMMAND                  CREATED             STATUS              PORTS                                            NAMES

c4c0600057cb        jenkins/jenkins:lts   "/sbin/tini -- /usr/…"   7 minutes ago       Up 7 minutes        0.0.0.0:50000->50000/tcp, 0.0.0.0:80->8080/tcp   jenkins

[root@jenkins ~]# docker logs c4c0600057cb

.............................................

*************************************************************

*************************************************************

*************************************************************


Jenkins initial setup is required. An admin user has been created and a password generated.

Please use the following password to proceed to installation:


51dd33426cca4719baf8d86edd14f43f


This may also be found at: /var/jenkins_home/secrets/initialAdminPassword


*************************************************************

*************************************************************

*************************************************************


[root@gitlab src]# rz -y

rz waiting to receive.

Starting zmodem transfer.  Press Ctrl+C to cancel.

Transferring tomcat-java-demo-master.zip...

  100%    1200 KB    1200 KB/sec    00:00:01       0 Errors  


[root@gitlab src]# ls

tomcat-java-demo-master.zip

[root@gitlab src]# unzip tomcat-java-demo-master.zip 

Archive:  tomcat-java-demo-master.zip

f562bc8f4b1db719e7353422071701b00c1a98fe

   creating: tomcat-java-demo-master/

  inflating: tomcat-java-demo-master/Dockerfile  

  inflating: tomcat-java-demo-master/LICENSE  

  inflating: tomcat-java-demo-master/README.md  

   creating: tomcat-java-demo-master/db/

  inflating: tomcat-java-demo-master/db/tables_ly_tomcat.sql  

  inflating: tomcat-java-demo-master/pom.xml  

   creating: tomcat-java-demo-master/src/

   creating: tomcat-java-demo-master/src/main/

   creating: tomcat-java-demo-master/src/main/java/

   creating: tomcat-java-demo-master/src/main/java/com/

   creating: tomcat-java-demo-master/src/main/java/com/ly/

  inflating: tomcat-java-demo-master/src/main/java/com/ly/AppSimpleTomcat.java  

   creating: tomcat-java-demo-master/src/main/java/com/ly/controller/

  inflating: tomcat-java-demo-master/src/main/java/com/ly/controller/IndexController.java  

  inflating: tomcat-java-demo-master/src/main/java/com/ly/controller/UserController.java  

   creating: tomcat-java-demo-master/src/main/java/com/ly/dto/

  inflating: tomcat-java-demo-master/src/main/java/com/ly/dto/LayerDto.java  

   creating: tomcat-java-demo-master/src/main/java/com/ly/mapper/

  inflating: tomcat-java-demo-master/src/main/java/com/ly/mapper/UserMapper.java  

  inflating: tomcat-java-demo-master/src/main/java/com/ly/mapper/UserSqlProvider.java  

   creating: tomcat-java-demo-master/src/main/java/com/ly/model/

  inflating: tomcat-java-demo-master/src/main/java/com/ly/model/User.java  

   creating: tomcat-java-demo-master/src/main/resources/

  inflating: tomcat-java-demo-master/src/main/resources/application.yml  

  inflating: tomcat-java-demo-master/src/main/resources/log4j.properties  

   creating: tomcat-java-demo-master/src/main/resources/static/

   creating: tomcat-java-demo-master/src/main/resources/static/css/

  inflating: tomcat-java-demo-master/src/main/resources/static/css/date.css  

 extracting: tomcat-java-demo-master/src/main/resources/static/css/index.css  

  inflating: tomcat-java-demo-master/src/main/resources/static/css/reset.css  

  inflating: tomcat-java-demo-master/src/main/resources/static/css/style.css  

  inflating: tomcat-java-demo-master/src/main/resources/static/css/supersized.css  

  inflating: tomcat-java-demo-master/src/main/resources/static/css/typeit.css  

   creating: tomcat-java-demo-master/src/main/resources/static/images/

  inflating: tomcat-java-demo-master/src/main/resources/static/images/.picasa.ini  

  inflating: tomcat-java-demo-master/src/main/resources/static/images/bg-footer.png  

 extracting: tomcat-java-demo-master/src/main/resources/static/images/bg.jpg  

  inflating: tomcat-java-demo-master/src/main/resources/static/images/clock.png  

 extracting: tomcat-java-demo-master/src/main/resources/static/images/demo2.png  

 extracting: tomcat-java-demo-master/src/main/resources/static/images/facebook.png  

  inflating: tomcat-java-demo-master/src/main/resources/static/images/hands.png  

  inflating: tomcat-java-demo-master/src/main/resources/static/images/progress.gif  

  inflating: tomcat-java-demo-master/src/main/resources/static/images/qq.png  

 extracting: tomcat-java-demo-master/src/main/resources/static/images/twitter.png  

   creating: tomcat-java-demo-master/src/main/resources/static/js/

  inflating: tomcat-java-demo-master/src/main/resources/static/js/addUser.js  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/date.js  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/index.js  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/jquery-1.8.2.min.js  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/jquery-3.3.1.min.js  

   creating: tomcat-java-demo-master/src/main/resources/static/js/layui/

   creating: tomcat-java-demo-master/src/main/resources/static/js/layui/css/

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/css/layui.css  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/css/layui.mobile.css  

   creating: tomcat-java-demo-master/src/main/resources/static/js/layui/css/modules/

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/css/modules/code.css  

   creating: tomcat-java-demo-master/src/main/resources/static/js/layui/css/modules/laydate/

   creating: tomcat-java-demo-master/src/main/resources/static/js/layui/css/modules/laydate/default/

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/css/modules/laydate/default/laydate.css  

   creating: tomcat-java-demo-master/src/main/resources/static/js/layui/css/modules/layer/

   creating: tomcat-java-demo-master/src/main/resources/static/js/layui/css/modules/layer/default/

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/css/modules/layer/default/icon-ext.png  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/css/modules/layer/default/icon.png  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/css/modules/layer/default/layer.css  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/css/modules/layer/default/loading-0.gif  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/css/modules/layer/default/loading-1.gif  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/css/modules/layer/default/loading-2.gif  

   creating: tomcat-java-demo-master/src/main/resources/static/js/layui/font/

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/font/iconfont.eot  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/font/iconfont.svg  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/font/iconfont.ttf  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/font/iconfont.woff  

   creating: tomcat-java-demo-master/src/main/resources/static/js/layui/images/

   creating: tomcat-java-demo-master/src/main/resources/static/js/layui/images/face/

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/images/face/0.gif  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/images/face/1.gif  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/images/face/10.gif  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/images/face/11.gif  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/images/face/12.gif  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/images/face/13.gif  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/images/face/14.gif  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/images/face/15.gif  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/images/face/16.gif  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/images/face/17.gif  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/images/face/18.gif  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/images/face/19.gif  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/images/face/2.gif  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/images/face/20.gif  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/images/face/21.gif  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/images/face/22.gif  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/images/face/23.gif  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/images/face/24.gif  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/images/face/25.gif  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/images/face/26.gif  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/images/face/27.gif  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/images/face/28.gif  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/images/face/29.gif  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/images/face/3.gif  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/images/face/30.gif  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/images/face/31.gif  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/images/face/32.gif  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/images/face/33.gif  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/images/face/34.gif  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/images/face/35.gif  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/images/face/36.gif  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/images/face/37.gif  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/images/face/38.gif  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/images/face/39.gif  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/images/face/4.gif  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/images/face/40.gif  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/images/face/41.gif  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/images/face/42.gif  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/images/face/43.gif  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/images/face/44.gif  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/images/face/45.gif  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/images/face/46.gif  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/images/face/47.gif  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/images/face/48.gif  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/images/face/49.gif  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/images/face/5.gif  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/images/face/50.gif  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/images/face/51.gif  

 extracting: tomcat-java-demo-master/src/main/resources/static/js/layui/images/face/52.gif  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/images/face/53.gif  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/images/face/54.gif  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/images/face/55.gif  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/images/face/56.gif  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/images/face/57.gif  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/images/face/58.gif  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/images/face/59.gif  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/images/face/6.gif  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/images/face/60.gif  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/images/face/61.gif  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/images/face/62.gif  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/images/face/63.gif  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/images/face/64.gif  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/images/face/65.gif  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/images/face/66.gif  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/images/face/67.gif  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/images/face/68.gif  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/images/face/69.gif  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/images/face/7.gif  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/images/face/70.gif  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/images/face/71.gif  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/images/face/8.gif  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/images/face/9.gif  

   creating: tomcat-java-demo-master/src/main/resources/static/js/layui/lay/

   creating: tomcat-java-demo-master/src/main/resources/static/js/layui/lay/modules/

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/lay/modules/carousel.js  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/lay/modules/code.js  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/lay/modules/colorpicker.js  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/lay/modules/element.js  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/lay/modules/flow.js  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/lay/modules/form.js  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/lay/modules/jquery.js  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/lay/modules/laydate.js  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/lay/modules/layedit.js  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/lay/modules/layer.js  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/lay/modules/laypage.js  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/lay/modules/laytpl.js  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/lay/modules/mobile.js  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/lay/modules/rate.js  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/lay/modules/slider.js  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/lay/modules/table.js  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/lay/modules/tree.js  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/lay/modules/upload.js  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/lay/modules/util.js  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/layui.all.js  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/layui/layui.js  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/supersized-init.js  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/supersized.3.2.7.min.js  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/typeit.js  

  inflating: tomcat-java-demo-master/src/main/resources/static/js/userList.js  

   creating: tomcat-java-demo-master/src/main/resources/templates/

  inflating: tomcat-java-demo-master/src/main/resources/templates/addUser.ftl  

  inflating: tomcat-java-demo-master/src/main/resources/templates/index.ftl  

  inflating: tomcat-java-demo-master/src/main/resources/templates/userList.ftl  


[root@gitlab src]# cd tomcat-java-demo-master

[root@gitlab tomcat-java-demo-master]# ls

db  Dockerfile  LICENSE  pom.xml  README.md  src

[root@gitlab tomcat-java-demo-master]# mv * /www/web/java-demo/

mv: overwrite ‘/www/web/java-demo/README.md’? y

[root@gitlab java-demo]# git commit -m "add project" *

[master d8f4a1a] add project

 149 files changed, 2047 insertions(+)

 create mode 100644 src/main/resources/templates/index.ftl

 create mode 100644 src/main/resources/templates/userList.ftl

[root@gitlab java-demo]# git push origin master

Username for 'http://192.168.1.112:9999': root

Password for 'http://[email protected]:9999': 

Counting objects: 180, done.

Delta compression using up to 2 threads.

Compressing objects: 100% (166/166), done.

Writing objects: 100% (178/178), 1.12 MiB | 0 bytes/s, done.

Total 178 (delta 4), reused 0 (delta 0)

remote: Resolving deltas: 100% (4/4), done.

To http://192.168.1.112:9999/root/java-demo.git

   88c65f8..d8f4a1a  master -> master


image.png


在jenkins上面給gitlab和harbor添加憑據

image.png

### 3.2 安裝插件

系統管理-->插件管理-->Installed

替換jenkins源:

http://www.bubuko.com/infodetail-3175110.html

sed -i 's/http:\/\/updates.jenkins-ci.org\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' default.json && sed -i 's/http:\/\/www.google.com/https:\/\/www.baidu.com/g' default.json

搜索git/pipeline,點擊安裝。


## 4、發佈測試

### 4.1 添加參數化構建

This project is parameterized -> String Parameter

Name:Branch    # 變量名,下面腳本中調用

Default Value:master   # 默認分支

Description:發佈的代碼分支  # 描述

### 4.2 Pipeline腳本

```

#!/usr/bin/env groovy

def registry = "192.168.31.70"

def project = "welcome"

def app_name = "demo"

def image_name = "${registry}/${project}/${app_name}:${Branch}-${BUILD_NUMBER}"

def git_address = "[email protected]:/home/git/java-demo.git"

def docker_registry_auth = "b37a147e-5217-4359-8372-17fd9a8edfcc"

def git_auth = "b3e33c8b-c7e0-47b9-baee-d7629d71f154"

pipeline {

   agent any

   stages {

       stage('拉取代碼'){

           steps {

             checkout([$class: 'GitSCM', branches: [[name: '${Branch}']], userRemoteConfigs: [[credentialsId: "${git_auth}", url: "${git_address}"]]])

           }

       }

       stage('代碼編譯'){

          steps {

            sh """

               JAVA_HOME=/usr/local/jdk

               PATH=$JAVA_HOME/bin:/usr/local/maven/bin:$PATH

               mvn clean package -Dmaven.test.skip=true

               """

          }

       }

       stage('構建鏡像'){

          steps {

               withCredentials([usernamePassword(credentialsId: "${docker_registry_auth}", passwordVariable: 'password', usernameVariable: 'username')]) {

               sh """

                 echo '

                   FROM ${registry}/library/tomcat:v1

                   LABEL maitainer lizhenliang

                   RUN rm -rf /usr/local/tomcat/webapps/*

                   ADD target/*.war /usr/local/tomcat/webapps/ROOT.war

                 ' > Dockerfile

                 docker build -t ${image_name} .

                 docker login -u ${username} -p '${password}' ${registry}

                 docker push ${image_name}

               """

               }

          }

       }

       stage('部署到Docker'){

          steps {

             sh """

             REPOSITORY=${image_name}

             docker rm -f tomcat-java-demo |true

             docker container run -d --name tomcat-java-demo -p 88:8080 ${image_name}

             """

           }

       }

   }

}

```

### 4.3 添加憑據

1、添加拉取git代碼憑據,並獲取id替換到上面git_auth變量值。

2、添加拉取harbor鏡像憑據,並獲取id替換到上面docker_registry_auth變量值。

=============================================================================


docker監控

image.png


image.png



Docker部署cAdvisor:

docker run -d \

--volume=/:/rootfs:ro \

--volume=/var/run:/var/run:ro \

--volume=/sys:/sys:ro \

--volume=/var/lib/docker/:/var/lib/docker:ro \

--volume=/dev/disk/:/dev/disk:ro \

--publish=7777:8080 \

--detach=true \

--name=cadvisor1 \

google/cadvisor:latest

192.168.0.113:7777

Docker部署Prometheus:

docker run -d \

--name=prometheus \

-p 7778:9090 \

-v /tmp/prometheus.yml:/etc/prometheus/prometheus.yml \

prom/prometheus

192.168.0.112:7778

Prometheus配置文件:

[root@jenkins tmp]# cat prometheus.yml

# my global config

global:

 scrape_interval:     15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.

 evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.

 # scrape_timeout is set to the global default (10s).

# Alertmanager configuration

alerting:

 alertmanagers:

 - static_configs:

   - targets:

     # - alertmanager:9093

# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.

rule_files:

 # - "first_rules.yml"

 # - "second_rules.yml"

# A scrape configuration containing exactly one endpoint to scrape:

# Here it's Prometheus itself.

scrape_configs:

 # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.

 - job_name: 'prometheus'

   # metrics_path defaults to '/metrics'

   # scheme defaults to 'http'.

   static_configs:

   - targets: ['localhost:9090']

- job_name: 'docker'                              ----分組

   static_configs:

   - targets: ['192.168.0.113:8080']         ---cAdvisor的IP和端口

Docker部署Grafana:

docker run -d \

--name=grafana \

-p 7779:3000 \

grafana/grafana

坑:

創建容器的時候報錯WARNING: IPv4 forwarding is disabled. Networking will not work.

# docker run -it -p 30001:22 --name=centos-ssh  centos /bin/bash

WARNING: IPv4 forwarding is disabled. Networking will not work.  

解決辦法:

# vim  /usr/lib/sysctl.d/00-system.conf

添加如下代碼:

net.ipv4.ip_forward=1

重啓network服務

# systemctl restart network

完成以後,刪除錯誤的容器,再次創建新容器,就不再報錯了。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章