精华内容
下载资源
问答
  • 该脚本仅供参考,需根据实际情况修改或扩展。 #!...#获取项目版本号作为镜像的tag version=`awk '/<version>[^<]+<\/version>/{gsub(/<version>|<\/version>/,"",$1...

    该脚本仅供参考,需根据实际情况修改或扩展。

    #!/bin/bash
    
    #私有库url
    repositryUrl='192.168.120.177:5000'
    
    #获取项目版本号作为镜像的tag
    version=`awk '/<version>[^<]+<\/version>/{gsub(/<version>|<\/version>/,"",$1);print $1;exit;}' pom.xml`
    
    #获取小写项目名作为镜像名
    typeset -l imageName
    imageName=`awk '/<artifactId>[^<]+<\/artifactId>/{gsub(/<artifactId>|<\/artifactId>/,"",$1);print $1;exit;}' pom.xml`  
    
    #批量删除以前构建的镜像
    
    #有些打了tag的镜像和源镜像的imageId相同,需要先根据 repositry:tag删
    removelist=$(docker images |grep $imageName | awk '{print $1":"$2}')
    
    if [ ! -n "$removelist" ]; then
    echo "nothing to remove"
    else
    docker rmi $removelist
    fi
    
    #再根据ImageId 删
    removelist=$(docker images |grep $imageName | awk '{print $3}')
    
    if [ ! -n "$removelist" ]; then
    echo "nothing to remove"
    else
    docker rmi $removelist
    fi
    
    #构建镜像
    #target/ 为dockerfile所在的路径
    docker build -t $imageName:$version target/
    
    #推送镜像到私有仓库
    docker tag $imageName:$version $repositryUrl/$imageName:$version
    docker push $repositryUrl/$imageName:$version
    
    #将该版本镜像作为latest版本并推送到私有仓库
    #如果pull时不指定tag,默认pull latest tag
    docker tag $imageName:$version $repositryUrl/$imageName 
    docker push  $repositryUrl/$imageName
    
    展开全文
  • 1、集群规划,如下所示: 主机名 ip地址 角色 端口号 k8s-master 192.168.110.133 k8s-master api-server:8080 k8s-node2 192.168.110.134 k8s-node1,jenkins tomcat:8080(跑jenkins) ...k8s-node1,g...

    1、集群规划,如下所示:

    主机名 ip地址 角色 端口号
    k8s-master 192.168.110.133 k8s-master api-server:8080
    k8s-node2 192.168.110.134 k8s-node1,jenkins tomcat:8080(跑jenkins)
    k8s-node3 192.168.110.135 k8s-node1,gitlab gitlab:80,8080

     

    2、为了减轻机器压力,将之前部署地Pod节点都删除掉,如下所示:

     1 [root@k8s-master ~]# kubectl get all -o wide
     2 NAME       DESIRED   CURRENT   READY     AGE       CONTAINER(S)   IMAGE(S)                               SELECTOR
     3 rc/mysql   1         1         1         1d        mysql          192.168.110.133:5000/mysql:5.7.30      app=mysql
     4 rc/myweb   1         1         1         1d        myweb          192.168.110.133:5000/tomcat-book:5.0   app=myweb
     5 
     6 NAME             CLUSTER-IP       EXTERNAL-IP   PORT(S)          AGE       SELECTOR
     7 svc/glusterfs    10.254.182.41    <none>        49152/TCP        1d        <none>
     8 svc/kubernetes   10.254.0.1       <none>        443/TCP          27d       <none>
     9 svc/mysql        10.254.126.11    <none>        3306/TCP         1d        app=mysql
    10 svc/myweb        10.254.188.155   <nodes>       8080:30008/TCP   1d        app=myweb
    11 
    12 NAME             READY     STATUS    RESTARTS   AGE       IP            NODE
    13 po/mysql-wldks   1/1       Running   0          1d        172.16.66.6   k8s-node3
    14 po/myweb-c8sf6   1/1       Running   1          1d        172.16.66.5   k8s-node3
    15 po/nginx         1/1       Running   0          1d        172.16.66.3   k8s-node3
    16 po/nginx2        1/1       Running   0          1d        172.16.74.5   k8s-node2
    17 [root@k8s-master ~]# kubectl delete rc --all
    18 replicationcontroller "mysql" deleted
    19 replicationcontroller "myweb" deleted
    20 [root@k8s-master ~]# kubectl delete svc --all
    21 service "glusterfs" deleted
    22 service "kubernetes" deleted
    23 service "mysql" deleted
    24 service "myweb" deleted
    25 [root@k8s-master ~]# kubectl get all -o wide
    26 NAME      READY     STATUS    RESTARTS   AGE       IP            NODE
    27 nginx     1/1       Running   0          1d        172.16.66.3   k8s-node3
    28 nginx2    1/1       Running   0          1d        172.16.74.5   k8s-node2
    29 [root@k8s-master ~]# kubectl delete pod nginx pod nginx2 
    30 pod "nginx" deleted
    31 pod "nginx2" deleted
    32 Error from server (NotFound): pods "pod" not found
    33 [root@k8s-master ~]# kubectl get all -o wide
    34 NAME             CLUSTER-IP   EXTERNAL-IP   PORT(S)   AGE       SELECTOR
    35 svc/kubernetes   10.254.0.1   <none>        443/TCP   9s        <none>
    36 [root@k8s-master ~]# 

     

    3、k8s-node3节点安装gitlab,如下所示:

    首先需要下载gitlab,如下所示:

     1 [root@k8s-node3 ~]# wget https://mirror.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-11.9.11-ce.0.el7.x86_64.rpm
     2 --2020-07-02 10:22:32--  https://mirror.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-11.9.11-ce.0.el7.x86_64.rpm
     3 Resolving mirror.tuna.tsinghua.edu.cn (mirror.tuna.tsinghua.edu.cn)... 101.6.8.193, 2402:f000:1:408:8100::1
     4 Connecting to mirror.tuna.tsinghua.edu.cn (mirror.tuna.tsinghua.edu.cn)|101.6.8.193|:443... connected.
     5 HTTP request sent, awaiting response... 200 OK
     6 Length: 569408968 (543M) [application/x-redhat-package-manager]
     7 Saving to: ‘gitlab-ce-11.9.11-ce.0.el7.x86_64.rpm’
     8 
     9 100%[=======================================================================================================================================================================>] 569,408,968 1.79MB/s   in 7m 19s 
    10 
    11 2020-07-02 10:29:54 (1.24 MB/s) - ‘gitlab-ce-11.9.11-ce.0.el7.x86_64.rpm’ saved [569408968/569408968]
    12 
    13 [root@k8s-node3 ~]# 

    下载完毕,进行安装,安装包比较大,安装速度也取决于硬盘的类型,如下所示:

     1 [root@k8s-node3 ~]# yum localinstall gitlab-ce-11.9.11-ce.0.el7.x86_64.rpm -y
     2 Loaded plugins: fastestmirror, langpacks, product-id, search-disabled-repos, subscription-manager
     3 
     4 This system is not registered with an entitlement server. You can use subscription-manager to register.
     5 
     6 Examining gitlab-ce-11.9.11-ce.0.el7.x86_64.rpm: gitlab-ce-11.9.11-ce.0.el7.x86_64
     7 Marking gitlab-ce-11.9.11-ce.0.el7.x86_64.rpm to be installed
     8 Resolving Dependencies
     9 --> Running transaction check
    10 ---> Package gitlab-ce.x86_64 0:11.9.11-ce.0.el7 will be installed
    11 --> Finished Dependency Resolution
    12 base/7/x86_64                                                                                                                                                                             | 3.6 kB  00:00:00     
    13 centos-gluster7/7/x86_64                                                                                                                                                                  | 3.0 kB  00:00:00     
    14 extras/7/x86_64                                                                                                                                                                           | 2.9 kB  00:00:00     
    15 updates/7/x86_64                                                                                                                                                                          | 2.9 kB  00:00:00     
    16 updates/7/x86_64/primary_db                                                                                                                                                               | 3.0 MB  00:00:07     
    17 
    18 Dependencies Resolved
    19 
    20 =================================================================================================================================================================================================================
    21  Package                                    Arch                                    Version                                            Repository                                                           Size
    22 =================================================================================================================================================================================================================
    23 Installing:
    24  gitlab-ce                                  x86_64                                  11.9.11-ce.0.el7                                   /gitlab-ce-11.9.11-ce.0.el7.x86_64                                  1.5 G
    25 
    26 Transaction Summary
    27 =================================================================================================================================================================================================================
    28 Install  1 Package
    29 
    30 Total size: 1.5 G
    31 Installed size: 1.5 G
    32 Downloading packages:
    33 Running transaction check
    34 Running transaction test
    35 Transaction test succeeded
    36 Running transaction
    37   Installing : gitlab-ce-11.9.11-ce.0.el7.x86_64                                                                                                                                                             1/1 
    38 It looks like GitLab has not been configured yet; skipping the upgrade script.
    39 
    40        *.                  *.
    41       ***                 ***
    42      *****               *****
    43     .******             *******
    44     ********            ********
    45    ,,,,,,,,,***********,,,,,,,,,
    46   ,,,,,,,,,,,*********,,,,,,,,,,,
    47   .,,,,,,,,,,,*******,,,,,,,,,,,,
    48       ,,,,,,,,,*****,,,,,,,,,.
    49          ,,,,,,,****,,,,,,
    50             .,,,***,,,,
    51                 ,*,.
    52   
    53 
    54 
    55      _______ __  __          __
    56     / ____(_) /_/ /   ____ _/ /_
    57    / / __/ / __/ /   / __ `/ __ \
    58   / /_/ / / /_/ /___/ /_/ / /_/ /
    59   \____/_/\__/_____/\__,_/_.___/
    60   
    61 
    62 Thank you for installing GitLab!
    63 GitLab was unable to detect a valid hostname for your instance.
    64 Please configure a URL for your GitLab instance by setting `external_url`
    65 configuration in /etc/gitlab/gitlab.rb file.
    66 Then, you can start your GitLab instance by running the following command:
    67   sudo gitlab-ctl reconfigure
    68 
    69 For a comprehensive list of configuration options please see the Omnibus GitLab readme
    70 https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/README.md
    71 
    72   Verifying  : gitlab-ce-11.9.11-ce.0.el7.x86_64                                                                                                                                                             1/1 
    73 
    74 Installed:
    75   gitlab-ce.x86_64 0:11.9.11-ce.0.el7                                                                                                                                                                            
    76 
    77 Complete!
    78 [root@k8s-node3 ~]# 

    安装完毕,配置gitlab(gitlab是使用ruby编写的一个工具,所以配置文件是rb的后缀),第一点是修改gitlab的访问地址,第二点是修改普罗米修斯的监控关闭掉,节省资源,如下所示:

    1 [root@k8s-node3 ~]# vim /etc/gitlab/gitlab.rb

    修改内容,修改的时候建议使用域名,方便后期迁移,这里直接使用ip地址了,如下所示:

    1 # external_url 'http://gitlab.example.com'
    2 external_url 'http://192.168.110.135'

    1 # prometheus_monitoring['enable'] = true
    2 prometheus_monitoring['enable'] = false

    修改完配置之后,需要执行命令让其生效,由于命令太长太长,这里就不贴了,如下所示:

     1 [root@k8s-node3 ~]# gitlab-ctl reconfigure
     2 
     3 .
     4 .
     5 .
     6 .
     7 .
     8 .
     9 
    10 Running handlers:
    11 Running handlers complete
    12 Chef Client finished, 338/858 resources updated in 02 minutes 26 seconds
    13 gitlab Reconfigured!

    部署成功之后,就会把应用跑起来,此时可以看下内存,避免内存不够,如下所示:

    1 [root@k8s-node3 ~]# free -h
    2               total        used        free      shared  buff/cache   available
    3 Mem:           2.2G        1.4G        186M         69M        621M        411M
    4 Swap:          2.0G         90M        1.9G
    5 [root@k8s-node3 ~]# 

    此时就可以访问一下gitlab了,第一次访问gitlab需要设置一个密码,密码长度必须是8位,如下所示:

    设置完毕密码,就可以进行登录了,如下所示:

    gitlab登录成功,如下所示:

    gitlab创建仓库并上传代码,如下所示:

    创建一个仓库,指定仓库的名称,可以对此进行描述,如下所示:

    私有仓库创建成功是这个样子的,如下所示:

    向下滑动,可以看到命令提示,如下所示:

    此时,向仓库上传代码,上传代码,需要首先执行下面的命令,配置全局的用户,如下所示:

     1 [root@k8s-node3 ~]# cd /opt/
     2 [root@k8s-node3 opt]# ls
     3 gitlab  myregistry  rh
     4 [root@k8s-node3 opt]# mkdir feiji
     5 [root@k8s-node3 opt]# ls
     6 feiji  gitlab  myregistry  rh
     7 [root@k8s-node3 opt]# cd feiji/
     8 [root@k8s-node3 feiji]# ls
     9 css  img  index.html  js
    10 [root@k8s-node3 feiji]# git config --global user.name "Administrator"
    11 bash: git: command not found...
    12 [root@k8s-node3 feiji]# git config --global user.email "admin@example.com"
    13 bash: git: command not found...
    14 [root@k8s-node3 feiji]# gitlab-
    15 gitlab-ctl    gitlab-psql   gitlab-rails  gitlab-rake   
    16 [root@k8s-node3 feiji]# 

    我这里还没有git的命令,首先安装一下,如下所示:

     1 [root@k8s-node3 feiji]# yum install git -y
     2 Loaded plugins: fastestmirror, langpacks, product-id, search-disabled-repos, subscription-manager
     3 
     4 This system is not registered with an entitlement server. You can use subscription-manager to register.
     5 
     6 Loading mirror speeds from cached hostfile
     7  * base: mirrors.tuna.tsinghua.edu.cn
     8  * centos-gluster7: mirrors.huaweicloud.com
     9  * extras: mirror.bit.edu.cn
    10  * updates: mirror.bit.edu.cn
    11 Resolving Dependencies
    12 --> Running transaction check
    13 ---> Package git.x86_64 0:1.8.3.1-23.el7_8 will be installed
    14 --> Processing Dependency: perl-Git = 1.8.3.1-23.el7_8 for package: git-1.8.3.1-23.el7_8.x86_64
    15 --> Processing Dependency: perl(Term::ReadKey) for package: git-1.8.3.1-23.el7_8.x86_64
    16 --> Processing Dependency: perl(Git) for package: git-1.8.3.1-23.el7_8.x86_64
    17 --> Processing Dependency: perl(Error) for package: git-1.8.3.1-23.el7_8.x86_64
    18 --> Running transaction check
    19 ---> Package perl-Error.noarch 1:0.17020-2.el7 will be installed
    20 ---> Package perl-Git.noarch 0:1.8.3.1-23.el7_8 will be installed
    21 ---> Package perl-TermReadKey.x86_64 0:2.30-20.el7 will be installed
    22 --> Finished Dependency Resolution
    23 
    24 Dependencies Resolved
    25 
    26 =================================================================================================================================================================================================================
    27  Package                                                Arch                                         Version                                                 Repository                                     Size
    28 =================================================================================================================================================================================================================
    29 Installing:
    30  git                                                    x86_64                                       1.8.3.1-23.el7_8                                        updates                                       4.4 M
    31 Installing for dependencies:
    32  perl-Error                                             noarch                                       1:0.17020-2.el7                                         base                                           32 k
    33  perl-Git                                               noarch                                       1.8.3.1-23.el7_8                                        updates                                        56 k
    34  perl-TermReadKey                                       x86_64                                       2.30-20.el7                                             base                                           31 k
    35 
    36 Transaction Summary
    37 =================================================================================================================================================================================================================
    38 Install  1 Package (+3 Dependent packages)
    39 
    40 Total download size: 4.5 M
    41 Installed size: 22 M
    42 Downloading packages:
    43 (1/4): perl-Git-1.8.3.1-23.el7_8.noarch.rpm                                                                                                                                               |  56 kB  00:00:00     
    44 (2/4): perl-TermReadKey-2.30-20.el7.x86_64.rpm                                                                                                                                            |  31 kB  00:00:00     
    45 (3/4): perl-Error-0.17020-2.el7.noarch.rpm                                                                                                                                                |  32 kB  00:00:00     
    46 (4/4): git-1.8.3.1-23.el7_8.x86_64.rpm                                                                                                                                                    | 4.4 MB  00:00:07     
    47 -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    48 Total                                                                                                                                                                            588 kB/s | 4.5 MB  00:00:07     
    49 Running transaction check
    50 Running transaction test
    51 Transaction test succeeded
    52 Running transaction
    53   Installing : 1:perl-Error-0.17020-2.el7.noarch                                                                                                                                                             1/4 
    54   Installing : perl-TermReadKey-2.30-20.el7.x86_64                                                                                                                                                           2/4 
    55   Installing : perl-Git-1.8.3.1-23.el7_8.noarch                                                                                                                                                              3/4 
    56   Installing : git-1.8.3.1-23.el7_8.x86_64                                                                                                                                                                   4/4 
    57   Verifying  : git-1.8.3.1-23.el7_8.x86_64                                                                                                                                                                   1/4 
    58   Verifying  : 1:perl-Error-0.17020-2.el7.noarch                                                                                                                                                             2/4 
    59   Verifying  : perl-Git-1.8.3.1-23.el7_8.noarch                                                                                                                                                              3/4 
    60   Verifying  : perl-TermReadKey-2.30-20.el7.x86_64                                                                                                                                                           4/4 
    61 
    62 Installed:
    63   git.x86_64 0:1.8.3.1-23.el7_8                                                                                                                                                                                  
    64 
    65 Dependency Installed:
    66   perl-Error.noarch 1:0.17020-2.el7                                  perl-Git.noarch 0:1.8.3.1-23.el7_8                                  perl-TermReadKey.x86_64 0:2.30-20.el7                                 
    67 
    68 Complete!
    69 [root@k8s-node3 feiji]# 

    此时,向仓库上传代码,上传代码,需要首先执行下面的命令,配置全局的用户,如下所示:

    1 [root@k8s-node3 feiji]# git config --global user.name "Administrator"
    2 [root@k8s-node3 feiji]# git config --global user.email "admin@example.com"
    3 [root@k8s-node3 feiji]# 

    由于已经在界面创建了仓库,此时可以忽略Create a new repository步骤,下面开始执行Existing folder在已存在的目录中初始化这个仓库,如下所示:

    1 cd existing_folder     # 进入到要提交代码的目录                            
    2 git init    # 初始化一个仓库
    3 git remote add origin http://192.168.110.135/root/feiji.git        # 添加远程的一个地址,将远程的仓库添加进来
    4 git add .    # 提交到远程仓库
    5 git commit -m "Initial commit"        # 提交的分支是master
    6 git push -u origin master        # 输入gitlab的账号密码即可

    具体操作,如下所示:

      1 [root@k8s-node3 feiji]# git init
      2 Initialized empty Git repository in /opt/feiji/.git/
      3 [root@k8s-node3 feiji]# git remote add origin http://192.168.110.135/root/feiji.git
      4 [root@k8s-node3 feiji]# git add .
      5 [root@k8s-node3 feiji]# git commit -m "Initial commit"
      6 [master (root-commit) 6a6a1d5] Initial commit
      7  125 files changed, 588 insertions(+)
      8  create mode 100644 img/.DS_Store
      9  create mode 100644 img/._.DS_Store
     10  create mode 100644 img/._bg.jpg
     11  create mode 100644 img/._bg2.jpg
     12  create mode 100644 img/._bigbg.jpg
     13  create mode 100644 img/._bossbullet.png
     14  create mode 100644 img/._bullet.png
     15  create mode 100644 img/._enemy1.png
     16  create mode 100644 img/._enemy1boom1.png
     17  create mode 100644 img/._enemy1boom2.png
     18  create mode 100644 img/._enemy1boom3.png
     19  create mode 100644 img/._enemy1boom4.png
     20  create mode 100644 img/._enemy1boom5.png
     21  create mode 100644 img/._enemy1boom6.png
     22  create mode 100644 img/._enemy2.png
     23  create mode 100644 img/._enemy2boom1.png
     24  create mode 100644 img/._enemy2boom2.png
     25  create mode 100644 img/._enemy2boom3.png
     26  create mode 100644 img/._enemy2boom4.png
     27  create mode 100644 img/._enemy2boom5.png
     28  create mode 100644 img/._enemy2boom6.png
     29  create mode 100644 img/._enemy3.png
     30  create mode 100644 img/._enemy3boom1.png
     31  create mode 100644 img/._enemy3boom2.png
     32  create mode 100644 img/._enemy3boom3.png
     33  create mode 100644 img/._enemy3boom4.png
     34  create mode 100644 img/._enemy3boom5.png
     35  create mode 100644 img/._enemy3boom6.png
     36  create mode 100644 img/._enemy4.png
     37  create mode 100644 img/._enemy4boom1.png
     38  create mode 100644 img/._enemy4boom2.png
     39  create mode 100644 img/._enemy4boom3.png
     40  create mode 100644 img/._enemy4boom4.png
     41  create mode 100644 img/._enemy4boom5.png
     42  create mode 100644 img/._enemy4boom6.png
     43  create mode 100644 img/._load1.png
     44  create mode 100644 img/._load2.png
     45  create mode 100644 img/._load3.png
     46  create mode 100644 img/._load4.png
     47  create mode 100644 img/._load5.png
     48  create mode 100644 img/._load6.png
     49  create mode 100644 img/._load7.png
     50  create mode 100644 img/._load8.png
     51  create mode 100644 img/._load9.png
     52  create mode 100644 img/._myplane1.png
     53  create mode 100644 img/._myplane1boom1.png
     54  create mode 100644 img/._myplane1boom2.png
     55  create mode 100644 img/._myplane1boom3.png
     56  create mode 100644 img/._myplane1boom4.png
     57  create mode 100644 img/._myplane1boom5.png
     58  create mode 100644 img/._myplane1boom6.png
     59  create mode 100644 img/._myplane1boom7.png
     60  create mode 100644 img/._myplane1boom8.png
     61  create mode 100644 img/._myplane1boom9.png
     62  create mode 100644 img/._myplane2.png
     63  create mode 100644 img/._myplane3.png
     64  create mode 100644 img/._planeboss.png
     65  create mode 100644 img/._starthead.png
     66  create mode 100644 img/._starting.png
     67  create mode 100644 img/._warning1.png
     68  create mode 100644 img/._warning2.png
     69  create mode 100644 img/bg.jpg
     70  create mode 100644 img/bg2.jpg
     71  create mode 100644 img/bigbg.jpg
     72  create mode 100644 img/bossbullet.png
     73  create mode 100644 img/bullet.png
     74  create mode 100644 img/enemy1.png
     75  create mode 100644 img/enemy1boom1.png
     76  create mode 100644 img/enemy1boom2.png
     77  create mode 100644 img/enemy1boom3.png
     78  create mode 100644 img/enemy1boom4.png
     79  create mode 100644 img/enemy1boom5.png
     80  create mode 100644 img/enemy1boom6.png
     81  create mode 100644 img/enemy2.png
     82  create mode 100644 img/enemy2boom1.png
     83  create mode 100644 img/enemy2boom2.png
     84  create mode 100644 img/enemy2boom3.png
     85  create mode 100644 img/enemy2boom4.png
     86  create mode 100644 img/enemy2boom5.png
     87  create mode 100644 img/enemy2boom6.png
     88  create mode 100644 img/enemy3.png
     89  create mode 100644 img/enemy3boom1.png
     90  create mode 100644 img/enemy3boom2.png
     91  create mode 100644 img/enemy3boom3.png
     92  create mode 100644 img/enemy3boom4.png
     93  create mode 100644 img/enemy3boom5.png
     94  create mode 100644 img/enemy3boom6.png
     95  create mode 100644 img/enemy4.png
     96  create mode 100644 img/enemy4boom1.png
     97  create mode 100644 img/enemy4boom2.png
     98  create mode 100644 img/enemy4boom3.png
     99  create mode 100644 img/enemy4boom4.png
    100  create mode 100644 img/enemy4boom5.png
    101  create mode 100644 img/enemy4boom6.png
    102  create mode 100644 img/load1.png
    103  create mode 100644 img/load2.png
    104  create mode 100644 img/load3.png
    105  create mode 100644 img/load4.png
    106  create mode 100644 img/load5.png
    107  create mode 100644 img/load6.png
    108  create mode 100644 img/load7.png
    109  create mode 100644 img/load8.png
    110  create mode 100644 img/load9.png
    111  create mode 100644 img/myplane1.png
    112  create mode 100644 img/myplane1boom1.png
    113  create mode 100644 img/myplane1boom2.png
    114  create mode 100644 img/myplane1boom3.png
    115  create mode 100644 img/myplane1boom4.png
    116  create mode 100644 img/myplane1boom5.png
    117  create mode 100644 img/myplane1boom6.png
    118  create mode 100644 img/myplane1boom7.png
    119  create mode 100644 img/myplane1boom8.png
    120  create mode 100644 img/myplane1boom9.png
    121  create mode 100644 img/myplane2.png
    122  create mode 100644 img/myplane3.png
    123  create mode 100644 img/planeboss.png
    124  create mode 100644 img/starthead.png
    125  create mode 100644 img/starting.png
    126  create mode 100644 img/warning1.png
    127  create mode 100644 img/warning2.png
    128  create mode 100644 index.html
    129  create mode 100644 js/.DS_Store
    130  create mode 100644 js/._.DS_Store
    131  create mode 100644 js/._index.js
    132  create mode 100644 js/index.js
    133 [root@k8s-node3 feiji]# git push -u origin master
    134 Username for 'http://192.168.110.135': root
    135 Password for 'http://root@192.168.110.135': 
    136 Counting objects: 120, done.
    137 Delta compression using up to 2 threads.
    138 Compressing objects: 100% (120/120), done.
    139 Writing objects: 100% (120/120), 2.13 MiB | 0 bytes/s, done.
    140 Total 120 (delta 53), reused 0 (delta 0)
    141 remote: Resolving deltas: 100% (53/53), done.
    142 To http://192.168.110.135/root/feiji.git
    143  * [new branch]      master -> master
    144 Branch master set up to track remote branch master from origin.
    145 [root@k8s-node3 feiji]# 

    此时,在界面刷新一下项目,如下所示:

     

    4、安装jenkins并拉取代码,需要首先安装jdk,然后安装tomcat,最后安装jenkins的。

    首先安装jdk,最好去官方下载吧,根据自己需要的版本,如果官方下载慢(Oracle官方需要登录的哦!),可以找个资源然后上传到自己的服务器上,自己根据需要进行选择即可。

    jdk8的下载地址:https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html。我这里直接下载好了,通过xftp上传到服务器进行安装了。

     1 [root@k8s-node2 package]# rpm -ivh jdk-8u251-linux-x64.rpm 
     2 warning: jdk-8u251-linux-x64.rpm: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY
     3 Preparing...                          ################################# [100%]
     4 Updating / installing...
     5    1:jdk1.8-2000:1.8.0_251-fcs        ################################# [100%]
     6 Unpacking JAR files...
     7     tools.jar...
     8     plugin.jar...
     9     javaws.jar...
    10     deploy.jar...
    11     rt.jar...
    12     jsse.jar...
    13     charsets.jar...
    14     localedata.jar...
    15 [root@k8s-node2 package]# java -version
    16 openjdk version "1.8.0_181"
    17 OpenJDK Runtime Environment (build 1.8.0_181-b13)
    18 OpenJDK 64-Bit Server VM (build 25.181-b13, mixed mode)
    19 [root@k8s-node2 package]# 

    安装tomcat也是可以通过命令下载或者下载好上传的方式,tomcat官网8.x下载:https://tomcat.apache.org/download-80.cgi

    这里通过wget下载了tomcat,然后进行解压缩操作即可。

     1 [root@k8s-node2 package]# ls
     2 jdk-8u251-linux-x64.rpm
     3 [root@k8s-node2 package]# wget https://mirrors.bfsu.edu.cn/apache/tomcat/tomcat-8/v8.5.56/bin/apache-tomcat-8.5.56.tar.gz
     4 --2020-07-02 11:38:35--  https://mirrors.bfsu.edu.cn/apache/tomcat/tomcat-8/v8.5.56/bin/apache-tomcat-8.5.56.tar.gz
     5 Resolving mirrors.bfsu.edu.cn (mirrors.bfsu.edu.cn)... 39.155.141.16, 2001:da8:20f:4435:4adf:37ff:fe55:2840
     6 Connecting to mirrors.bfsu.edu.cn (mirrors.bfsu.edu.cn)|39.155.141.16|:443... connected.
     7 HTTP request sent, awaiting response... 200 OK
     8 Length: 10377460 (9.9M) [application/octet-stream]
     9 Saving to: ‘apache-tomcat-8.5.56.tar.gz’
    10 
    11 100%[=======================================================================================================================================================================>] 10,377,460  2.81MB/s   in 3.5s   
    12 
    13 2020-07-02 11:38:38 (2.81 MB/s) - ‘apache-tomcat-8.5.56.tar.gz’ saved [10377460/10377460]
    14 
    15 [root@k8s-node2 package]# ls
    16 apache-tomcat-8.5.56.tar.gz  jdk-8u251-linux-x64.rpm
    17 [root@k8s-node2 package]# ll
    18 total 185404
    19 -rw-r--r-- 1 root root  10377460 Jun  4 04:43 apache-tomcat-8.5.56.tar.gz
    20 -rw-r--r-- 1 root root 179472367 Jul  2 11:35 jdk-8u251-linux-x64.rpm
    21 [root@k8s-node2 package]# 

    下载好就可以进行安装了,如下所示:

     1 [root@k8s-node2 package]# tar -zxvf apache-tomcat-8.5.56.tar.gz -C /app
     2 tar: /app: Cannot open: No such file or directory
     3 tar: Error is not recoverable: exiting now
     4 [root@k8s-node2 package]# mkdir /app
     5 [root@k8s-node2 package]# ls
     6 apache-tomcat-8.5.56.tar.gz  jdk-8u251-linux-x64.rpm
     7 [root@k8s-node2 package]# ll
     8 total 185404
     9 -rw-r--r-- 1 root root  10377460 Jun  4 04:43 apache-tomcat-8.5.56.tar.gz
    10 -rw-r--r-- 1 root root 179472367 Jul  2 11:35 jdk-8u251-linux-x64.rpm
    11 [root@k8s-node2 package]# tar -zxvf apache-tomcat-8.5.56.tar.gz -C /app

    开始下载和安装jenkins,jenkins官方下载地址:https://www.jenkins.io/download/,如下所示:

    安装和启动Jenkins的方式有很多,比如常见的有 Java方式启动、Tomcat启动、Docker启动等,我在这里主要介绍下通过Tomcat的方式启动。 

    首先将tomcat的webapp目录下面的默认站点目录删除掉,如下所示:

     1 [root@k8s-node2 package]# ls
     2 apache-tomcat-8.5.56.tar.gz  jdk-8u251-linux-x64.rpm
     3 [root@k8s-node2 package]# ls
     4 apache-tomcat-8.5.56.tar.gz  jdk-8u251-linux-x64.rpm
     5 [root@k8s-node2 package]# cd /app/apache-tomcat-8.5.56/webapps/
     6 [root@k8s-node2 webapps]# ls
     7 docs  examples  host-manager  manager  ROOT
     8 [root@k8s-node2 webapps]# rm -rf *
     9 [root@k8s-node2 webapps]# ls
    10 [root@k8s-node2 webapps]# 

    然后将上传到服务器的jenkins.war复制到tomcat的webapp目录下面

    1 [root@k8s-node2 webapps]# cp ~/package/jenkins.war .
    2 [root@k8s-node2 webapps]# ls
    3 jenkins.war
    4 [root@k8s-node2 webapps]# 

    此时,启动tomcat,如下所示:

     1 [root@k8s-node2 webapps]# cd /app/
     2 [root@k8s-node2 app]# ls
     3 apache-tomcat-8.5.56
     4 [root@k8s-node2 app]# cd apache-tomcat-8.5.56/
     5 [root@k8s-node2 apache-tomcat-8.5.56]# ls
     6 bin  BUILDING.txt  conf  CONTRIBUTING.md  lib  LICENSE  logs  NOTICE  README.md  RELEASE-NOTES  RUNNING.txt  temp  webapps  work
     7 [root@k8s-node2 apache-tomcat-8.5.56]# cd bin/
     8 [root@k8s-node2 bin]# ls
     9 bootstrap.jar  catalina-tasks.xml  commons-daemon.jar            configtest.sh  digest.sh         shutdown.bat  startup.sh            tool-wrapper.bat  version.sh
    10 catalina.bat   ciphers.bat         commons-daemon-native.tar.gz  daemon.sh      setclasspath.bat  shutdown.sh   tomcat-juli.jar       tool-wrapper.sh
    11 catalina.sh    ciphers.sh          configtest.bat                digest.bat     setclasspath.sh   startup.bat   tomcat-native.tar.gz  version.bat
    12 [root@k8s-node2 bin]# ./startup.sh 
    13 Using CATALINA_BASE:   /app/apache-tomcat-8.5.56
    14 Using CATALINA_HOME:   /app/apache-tomcat-8.5.56
    15 Using CATALINA_TMPDIR: /app/apache-tomcat-8.5.56/temp
    16 Using JRE_HOME:        /usr
    17 Using CLASSPATH:       /app/apache-tomcat-8.5.56/bin/bootstrap.jar:/app/apache-tomcat-8.5.56/bin/tomcat-juli.jar
    18 Tomcat started.
    19 [root@k8s-node2 bin]# 

    查看8080的端口号,如下所示:

     1 [root@k8s-node2 bin]# netstat -lntup
     2 Active Internet connections (only servers)
     3 Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
     4 tcp        0      0 0.0.0.0:24007           0.0.0.0:*               LISTEN      46232/glusterd      
     5 tcp        0      0 127.0.0.1:10248         0.0.0.0:*               LISTEN      14838/kubelet       
     6 tcp        0      0 127.0.0.1:10249         0.0.0.0:*               LISTEN      6803/kube-proxy     
     7 tcp        0      0 192.168.110.134:10250   0.0.0.0:*               LISTEN      14838/kubelet       
     8 tcp        0      0 0.0.0.0:42863           0.0.0.0:*               LISTEN      -                   
     9 tcp        0      0 192.168.110.134:10255   0.0.0.0:*               LISTEN      14838/kubelet       
    10 tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      1/systemd           
    11 tcp        0      0 0.0.0.0:20048           0.0.0.0:*               LISTEN      89395/rpc.mountd    
    12 tcp        0      0 0.0.0.0:6000            0.0.0.0:*               LISTEN      7030/X              
    13 tcp        0      0 192.168.122.1:53        0.0.0.0:*               LISTEN      7281/dnsmasq        
    14 tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      6804/sshd           
    15 tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      6806/cupsd          
    16 tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      7142/master         
    17 tcp        0      0 0.0.0.0:34587           0.0.0.0:*               LISTEN      71097/rpc.statd     
    18 tcp        0      0 0.0.0.0:49152           0.0.0.0:*               LISTEN      62108/glusterfsd    
    19 tcp        0      0 0.0.0.0:49153           0.0.0.0:*               LISTEN      62128/glusterfsd    
    20 tcp        0      0 0.0.0.0:2049            0.0.0.0:*               LISTEN      -                   
    21 tcp6       0      0 :::5000                 :::*                    LISTEN      14488/docker-proxy- 
    22 tcp6       0      0 :::45450                :::*                    LISTEN      -                   
    23 tcp6       0      0 :::60684                :::*                    LISTEN      71097/rpc.statd     
    24 tcp6       0      0 :::111                  :::*                    LISTEN      1/systemd           
    25 tcp6       0      0 :::20048                :::*                    LISTEN      89395/rpc.mountd    
    26 tcp6       0      0 :::30000                :::*                    LISTEN      6803/kube-proxy     
    27 tcp6       0      0 :::8080                 :::*                    LISTEN      14838/kubelet       
    28 tcp6       0      0 :::6000                 :::*                    LISTEN      7030/X              
    29 tcp6       0      0 :::22                   :::*                    LISTEN      6804/sshd           
    30 tcp6       0      0 ::1:631                 :::*                    LISTEN      6806/cupsd          
    31 tcp6       0      0 ::1:25                  :::*                    LISTEN      7142/master         
    32 tcp6       0      0 :::2049                 :::*                    LISTEN      -                   
    33 tcp6       0      0 127.0.0.1:8005          :::*                    LISTEN      23457/java          
    34 udp        0      0 0.0.0.0:5353            0.0.0.0:*                           6442/avahi-daemon:  
    35 udp        0      0 0.0.0.0:44601           0.0.0.0:*                           -                   
    36 udp        0      0 0.0.0.0:52808           0.0.0.0:*                           6442/avahi-daemon:  
    37 udp        0      0 0.0.0.0:20048           0.0.0.0:*                           89395/rpc.mountd    
    38 udp        0      0 0.0.0.0:58973           0.0.0.0:*                           71097/rpc.statd     
    39 udp        0      0 0.0.0.0:2049            0.0.0.0:*                           -                   
    40 udp        0      0 192.168.122.1:53        0.0.0.0:*                           7281/dnsmasq        
    41 udp        0      0 0.0.0.0:67              0.0.0.0:*                           7281/dnsmasq        
    42 udp        0      0 192.168.110.134:8285    0.0.0.0:*                           6810/flanneld       
    43 udp        0      0 0.0.0.0:111             0.0.0.0:*                           1/systemd           
    44 udp        0      0 0.0.0.0:829             0.0.0.0:*                           89270/rpcbind       
    45 udp        0      0 127.0.0.1:889           0.0.0.0:*                           71097/rpc.statd     
    46 udp6       0      0 :::20048                :::*                                89395/rpc.mountd    
    47 udp6       0      0 :::2049                 :::*                                -                   
    48 udp6       0      0 :::111                  :::*                                1/systemd           
    49 udp6       0      0 :::43464                :::*                                -                   
    50 udp6       0      0 :::54072                :::*                                71097/rpc.statd     
    51 udp6       0      0 :::829                  :::*                                89270/rpcbind    

    由于之前将两个Node节点的CAdvisor启动起来了,占用了8080端口,现在关闭一下,如下所示:

    1 [root@k8s-node2 apache-tomcat-8.5.56]# vim /etc/kubernetes/kubelet
    2 [root@k8s-node2 apache-tomcat-8.5.56]# 

    然后重启kubelet服务,如下所示: 

    1 [root@k8s-node2 apache-tomcat-8.5.56]# systemctl restart kubelet.service 
    2 [root@k8s-node2 apache-tomcat-8.5.56]# 

    重启之后,查看8080端口号是开启了什么服务,发现没有了8080端口号了,此时我将tomcat关闭,然后重启,如下所示:

     1 [root@k8s-node2 bin]# ./shutdown.sh 
     2 Using CATALINA_BASE:   /app/apache-tomcat-8.5.56
     3 Using CATALINA_HOME:   /app/apache-tomcat-8.5.56
     4 Using CATALINA_TMPDIR: /app/apache-tomcat-8.5.56/temp
     5 Using JRE_HOME:        /usr
     6 Using CLASSPATH:       /app/apache-tomcat-8.5.56/bin/bootstrap.jar:/app/apache-tomcat-8.5.56/bin/tomcat-juli.jar
     7 [root@k8s-node2 bin]# ./startup.sh 
     8 Using CATALINA_BASE:   /app/apache-tomcat-8.5.56
     9 Using CATALINA_HOME:   /app/apache-tomcat-8.5.56
    10 Using CATALINA_TMPDIR: /app/apache-tomcat-8.5.56/temp
    11 Using JRE_HOME:        /usr
    12 Using CLASSPATH:       /app/apache-tomcat-8.5.56/bin/bootstrap.jar:/app/apache-tomcat-8.5.56/bin/tomcat-juli.jar
    13 Tomcat started.
    14 [root@k8s-node2 bin]# cd ../logs/
    15 [root@k8s-node2 logs]# tailf catalina.out 
    16 02-Jul-2020 12:21:37.758 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.home=/app/apache-tomcat-8.5.56
    17 02-Jul-2020 12:21:37.759 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.io.tmpdir=/app/apache-tomcat-8.5.56/temp
    18 02-Jul-2020 12:21:37.759 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent The Apache Tomcat Native library which allows using OpenSSL was not found on the java.library.path: [/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib]
    19 02-Jul-2020 12:21:37.883 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-nio-8080"]
    20 02-Jul-2020 12:21:37.898 INFO [main] org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a shared selector for servlet write/read
    21 02-Jul-2020 12:21:37.925 INFO [main] org.apache.catalina.startup.Catalina.load Initialization processed in 877 ms
    22 02-Jul-2020 12:21:37.957 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service [Catalina]
    23 02-Jul-2020 12:21:37.957 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet Engine: Apache Tomcat/8.5.56
    24 02-Jul-2020 12:21:37.990 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployWAR Deploying web application archive [/app/apache-tomcat-8.5.56/webapps/jenkins.war]
    25 02-Jul-2020 12:21:41.900 INFO [localhost-startStop-1] org.apache.jasper.servlet.TldScanner.scanJars At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
    26 02-Jul-2020 12:21:42.339 INFO [localhost-startStop-1] hudson.WebAppMain.contextInitialized Jenkins home directory: /root/.jenkins found at: $user.home/.jenkins
    27 02-Jul-2020 12:21:42.573 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployWAR Deployment of web application archive [/app/apache-tomcat-8.5.56/webapps/jenkins.war] has finished in [4,582] ms
    28 02-Jul-2020 12:21:42.588 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-8080"]
    29 02-Jul-2020 12:21:42.673 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 4747 ms
    30 02-Jul-2020 12:21:44.841 INFO [pool-6-thread-3] jenkins.InitReactorRunner$1.onAttained Started initialization
    31 02-Jul-2020 12:21:44.976 INFO [pool-6-thread-2] jenkins.InitReactorRunner$1.onAttained Listed all plugins
    32 02-Jul-2020 12:21:46.758 INFO [pool-6-thread-4] jenkins.InitReactorRunner$1.onAttained Prepared all plugins
    33 02-Jul-2020 12:21:46.774 INFO [pool-6-thread-3] jenkins.InitReactorRunner$1.onAttained Started all plugins
    34 02-Jul-2020 12:21:46.819 INFO [pool-6-thread-2] jenkins.InitReactorRunner$1.onAttained Augmented all extensions
    35 02-Jul-2020 12:21:47.308 INFO [pool-6-thread-2] jenkins.InitReactorRunner$1.onAttained System config loaded
    36 02-Jul-2020 12:21:47.309 INFO [pool-6-thread-2] jenkins.InitReactorRunner$1.onAttained System config adapted
    37 02-Jul-2020 12:21:47.309 INFO [pool-6-thread-2] jenkins.InitReactorRunner$1.onAttained Loaded all jobs
    38 02-Jul-2020 12:21:47.311 INFO [pool-6-thread-4] jenkins.InitReactorRunner$1.onAttained Configuration for all jobs updated
    39 02-Jul-2020 12:21:47.330 INFO [Download metadata thread] hudson.model.AsyncPeriodicWork.lambda$doRun$0 Started Download metadata
    40 02-Jul-2020 12:21:48.561 INFO [Finalizing set up] org.springframework.context.support.AbstractApplicationContext.prepareRefresh Refreshing org.springframework.web.context.support.StaticWebApplicationContext@22ea1775: display name [Root WebApplicationContext]; startup date [Thu Jul 02 12:21:48 CST 2020]; root of context hierarchy
    41 02-Jul-2020 12:21:48.561 INFO [Finalizing set up] org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory Bean factory for application context [org.springframework.web.context.support.StaticWebApplicationContext@22ea1775]: org.springframework.beans.factory.support.DefaultListableBeanFactory@776ad75c
    42 02-Jul-2020 12:21:48.575 INFO [Finalizing set up] org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@776ad75c: defining beans [authenticationManager]; root of factory hierarchy
    43 02-Jul-2020 12:21:48.907 INFO [Finalizing set up] org.springframework.context.support.AbstractApplicationContext.prepareRefresh Refreshing org.springframework.web.context.support.StaticWebApplicationContext@3cd7b623: display name [Root WebApplicationContext]; startup date [Thu Jul 02 12:21:48 CST 2020]; root of context hierarchy
    44 02-Jul-2020 12:21:48.907 INFO [Finalizing set up] org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory Bean factory for application context [org.springframework.web.context.support.StaticWebApplicationContext@3cd7b623]: org.springframework.beans.factory.support.DefaultListableBeanFactory@2c58a5c2
    45 02-Jul-2020 12:21:48.908 INFO [Finalizing set up] org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@2c58a5c2: defining beans [filter,legacy]; root of factory hierarchy
    46 02-Jul-2020 12:21:49.014 INFO [pool-6-thread-1] jenkins.InitReactorRunner$1.onAttained Completed initialization
    47 02-Jul-2020 12:21:49.039 INFO [Jenkins initialization thread] hudson.WebAppMain$3.run Jenkins is fully up and running
    48 02-Jul-2020 12:21:50.040 INFO [Download metadata thread] hudson.model.DownloadService$Downloadable.load Obtained the updated data file for hudson.tasks.Maven.MavenInstaller
    49 02-Jul-2020 12:21:50.041 INFO [Download metadata thread] hudson.model.AsyncPeriodicWork.lambda$doRun$0 Finished Download metadata. 2,693 ms
    50 ^C
    51 [root@k8s-node2 logs]# 

    此时,查看端口号,如下所示:

     1 [root@k8s-node2 logs]# netstat -lntup
     2 Active Internet connections (only servers)
     3 Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
     4 tcp        0      0 0.0.0.0:24007           0.0.0.0:*               LISTEN      46232/glusterd      
     5 tcp        0      0 127.0.0.1:10248         0.0.0.0:*               LISTEN      30748/kubelet       
     6 tcp        0      0 127.0.0.1:10249         0.0.0.0:*               LISTEN      6803/kube-proxy     
     7 tcp        0      0 192.168.110.134:10250   0.0.0.0:*               LISTEN      30748/kubelet       
     8 tcp        0      0 192.168.110.134:10255   0.0.0.0:*               LISTEN      30748/kubelet       
     9 tcp        0      0 0.0.0.0:42863           0.0.0.0:*               LISTEN      -                   
    10 tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      1/systemd           
    11 tcp        0      0 0.0.0.0:20048           0.0.0.0:*               LISTEN      89395/rpc.mountd    
    12 tcp        0      0 0.0.0.0:6000            0.0.0.0:*               LISTEN      7030/X              
    13 tcp        0      0 192.168.122.1:53        0.0.0.0:*               LISTEN      7281/dnsmasq        
    14 tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      6804/sshd           
    15 tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      6806/cupsd          
    16 tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      7142/master         
    17 tcp        0      0 0.0.0.0:34587           0.0.0.0:*               LISTEN      71097/rpc.statd     
    18 tcp        0      0 0.0.0.0:49152           0.0.0.0:*               LISTEN      62108/glusterfsd    
    19 tcp        0      0 0.0.0.0:49153           0.0.0.0:*               LISTEN      62128/glusterfsd    
    20 tcp        0      0 0.0.0.0:2049            0.0.0.0:*               LISTEN      -                   
    21 tcp6       0      0 :::5000                 :::*                    LISTEN      14488/docker-proxy- 
    22 tcp6       0      0 :::45450                :::*                    LISTEN      -                   
    23 tcp6       0      0 :::60684                :::*                    LISTEN      71097/rpc.statd     
    24 tcp6       0      0 :::111                  :::*                    LISTEN      1/systemd           
    25 tcp6       0      0 :::8080                 :::*                    LISTEN      32474/java          
    26 tcp6       0      0 :::20048                :::*                    LISTEN      89395/rpc.mountd    
    27 tcp6       0      0 :::30000                :::*                    LISTEN      6803/kube-proxy     
    28 tcp6       0      0 :::6000                 :::*                    LISTEN      7030/X              
    29 tcp6       0      0 :::22                   :::*                    LISTEN      6804/sshd           
    30 tcp6       0      0 ::1:631                 :::*                    LISTEN      6806/cupsd          
    31 tcp6       0      0 ::1:25                  :::*                    LISTEN      7142/master         
    32 tcp6       0      0 :::2049                 :::*                    LISTEN      -                   
    33 tcp6       0      0 :::4194                 :::*                    LISTEN      30748/kubelet       
    34 tcp6       0      0 127.0.0.1:8005          :::*                    LISTEN      32474/java          
    35 udp        0      0 0.0.0.0:5353            0.0.0.0:*                           6442/avahi-daemon:  
    36 udp        0      0 0.0.0.0:44601           0.0.0.0:*                           -                   
    37 udp        0      0 0.0.0.0:52808           0.0.0.0:*                           6442/avahi-daemon:  
    38 udp        0      0 0.0.0.0:20048           0.0.0.0:*                           89395/rpc.mountd    
    39 udp        0      0 0.0.0.0:58973           0.0.0.0:*                           71097/rpc.statd     
    40 udp        0      0 0.0.0.0:2049            0.0.0.0:*                           -                   
    41 udp        0      0 192.168.122.1:53        0.0.0.0:*                           7281/dnsmasq        
    42 udp        0      0 0.0.0.0:67              0.0.0.0:*                           7281/dnsmasq        
    43 udp        0      0 192.168.110.134:8285    0.0.0.0:*                           6810/flanneld       
    44 udp        0      0 0.0.0.0:111             0.0.0.0:*                           1/systemd           
    45 udp        0      0 0.0.0.0:829             0.0.0.0:*                           89270/rpcbind       
    46 udp        0      0 127.0.0.1:889           0.0.0.0:*                           71097/rpc.statd     
    47 udp6       0      0 :::20048                :::*                                89395/rpc.mountd    
    48 udp6       0      0 :::2049                 :::*                                -                   
    49 udp6       0      0 :::111                  :::*                                1/systemd           
    50 udp6       0      0 :::43464                :::*                                -                   
    51 udp6       0      0 :::54072                :::*                                71097/rpc.statd     
    52 udp6       0      0 :::829                  :::*                                89270/rpcbind       
    53 [root@k8s-node2 logs]# 

    访问地址http://192.168.110.134:8080/,报错了,老问题了,但是呢,这次是我没有将jenkins.war解压缩正确导致的。

    这次我将刚才解压缩的jenkins.war包和解压缩后的文件删除掉,如下所示:

    1 [root@k8s-node2 webapps]# ls
    2 jenkins  jenkins.war
    3 [root@k8s-node2 webapps]# rm -rf *
    4 [root@k8s-node2 webapps]# ls

    然后执行关闭tomcat命令,如下所示:

    1 [root@k8s-node2 bin]# ./shutdown.sh 
    2 Using CATALINA_BASE:   /app/apache-tomcat-8.5.56
    3 Using CATALINA_HOME:   /app/apache-tomcat-8.5.56
    4 Using CATALINA_TMPDIR: /app/apache-tomcat-8.5.56/temp
    5 Using JRE_HOME:        /usr
    6 Using CLASSPATH:       /app/apache-tomcat-8.5.56/bin/bootstrap.jar:/app/apache-tomcat-8.5.56/bin/tomcat-juli.jar

    最后使用下面的拷贝方式,将jenkins.war包改成了ROOT.war放到webapp目录下面。

    1 [root@k8s-node2 webapps]# cd ~/package/
    2 [root@k8s-node2 package]# ls
    3 apache-tomcat-8.5.56  apache-tomcat-8.5.56.tar.gz  jdk-8u251-linux-x64.rpm  jenkins.war
    4 [root@k8s-node2 package]# cp jenkins.war /app/apache-tomcat-8.5.56/webapps/ROOT.war
    5 [root@k8s-node2 package]# 

    查看拷贝后的webapp目录下面的文件,如下所示:

    [root@k8s-node2 webapps]# ls
    ROOT.war
    [root@k8s-node2 webapps]# ls
    ROOT  ROOT.war
    [root@k8s-node2 webapps]# 

    启动tomcat并查看日志,并查看端口号,如下所示:

     1 [root@k8s-node2 bin]# ./startup.sh 
     2 Using CATALINA_BASE:   /app/apache-tomcat-8.5.56
     3 Using CATALINA_HOME:   /app/apache-tomcat-8.5.56
     4 Using CATALINA_TMPDIR: /app/apache-tomcat-8.5.56/temp
     5 Using JRE_HOME:        /usr
     6 Using CLASSPATH:       /app/apache-tomcat-8.5.56/bin/bootstrap.jar:/app/apache-tomcat-8.5.56/bin/tomcat-juli.jar
     7 Tomcat started.
     8 [root@k8s-node2 bin]# cd ../logs/
     9 [root@k8s-node2 logs]# tailf catalina.out 
    10 02-Jul-2020 12:32:04.341 WARNING [http-nio-8080-exec-2] org.apache.catalina.webresources.Cache.getResource Unable to add the resource at [/help/user/fullName_pt_BR.html] to the cache for web application [] because there was insufficient free space available after evicting expired cache entries - consider increasing the maximum size of the cache
    11 02-Jul-2020 12:32:04.341 WARNING [http-nio-8080-exec-2] org.apache.catalina.webresources.Cache.getResource Unable to add the resource at [/help/user/description_de.html] to the cache for web application [] because there was insufficient free space available after evicting expired cache entries - consider increasing the maximum size of the cache
    12 02-Jul-2020 12:32:04.341 WARNING [http-nio-8080-exec-2] org.apache.catalina.webresources.Cache.getResource Unable to add the resource at [/help/user/fullName.html] to the cache for web application [] because there was insufficient free space available after evicting expired cache entries - consider increasing the maximum size of the cache
    13 02-Jul-2020 12:32:04.341 WARNING [http-nio-8080-exec-2] org.apache.catalina.webresources.Cache.getResource Unable to add the resource at [/help/user/description_ru.html] to the cache for web application [] because there was insufficient free space available after evicting expired cache entries - consider increasing the maximum size of the cache
    14 02-Jul-2020 12:32:04.342 WARNING [http-nio-8080-exec-2] org.apache.catalina.webresources.Cache.getResource Unable to add the resource at [/help/user/fullName_it.html] to the cache for web application [] because there was insufficient free space available after evicting expired cache entries - consider increasing the maximum size of the cache
    15 02-Jul-2020 12:32:04.342 WARNING [http-nio-8080-exec-2] org.apache.catalina.webresources.Cache.getResource Unable to add the resource at [/bootstrap/config.json] to the cache for web application [] because there was insufficient free space available after evicting expired cache entries - consider increasing the maximum size of the cache
    16 02-Jul-2020 12:32:04.342 WARNING [http-nio-8080-exec-2] org.apache.catalina.webresources.Cache.getResource Unable to add the resource at [/bootstrap/css/bootstrap.min.css] to the cache for web application [] because there was insufficient free space available after evicting expired cache entries - consider increasing the maximum size of the cache
    17 02-Jul-2020 12:32:04.343 WARNING [http-nio-8080-exec-2] org.apache.catalina.webresources.Cache.getResource Unable to add the resource at [/bootstrap/css/bootstrap.css] to the cache for web application [] because there was insufficient free space available after evicting expired cache entries - consider increasing the maximum size of the cache
    18 02-Jul-2020 12:32:04.343 WARNING [http-nio-8080-exec-2] org.apache.catalina.webresources.Cache.getResource Unable to add the resource at [/bootstrap/css/bootstrap-theme.css] to the cache for web application [] because there was insufficient free space available after evicting expired cache entries - consider increasing the maximum size of the cache
    19 02-Jul-2020 12:32:04.343 WARNING [http-nio-8080-exec-2] org.apache.catalina.webresources.Cache.getResource Unable to add the resource at [/bootstrap/css/bootstrap-theme.min.css] to the cache for web application [] because there was insufficient free space available after evicting expired cache entries - consider increasing the maximum size of the cache
    20 02-Jul-2020 12:32:05.779 INFO [pool-6-thread-3] jenkins.InitReactorRunner$1.onAttained Started initialization
    21 02-Jul-2020 12:32:05.871 INFO [pool-6-thread-1] jenkins.InitReactorRunner$1.onAttained Listed all plugins
    22 02-Jul-2020 12:32:07.634 INFO [pool-6-thread-2] jenkins.InitReactorRunner$1.onAttained Prepared all plugins
    23 02-Jul-2020 12:32:07.639 INFO [pool-6-thread-2] jenkins.InitReactorRunner$1.onAttained Started all plugins
    24 02-Jul-2020 12:32:07.667 INFO [pool-6-thread-1] jenkins.InitReactorRunner$1.onAttained Augmented all extensions
    25 02-Jul-2020 12:32:08.103 INFO [pool-6-thread-1] jenkins.InitReactorRunner$1.onAttained System config loaded
    26 02-Jul-2020 12:32:08.103 INFO [pool-6-thread-1] jenkins.InitReactorRunner$1.onAttained System config adapted
    27 02-Jul-2020 12:32:08.103 INFO [pool-6-thread-1] jenkins.InitReactorRunner$1.onAttained Loaded all jobs
    28 02-Jul-2020 12:32:08.105 INFO [pool-6-thread-2] jenkins.InitReactorRunner$1.onAttained Configuration for all jobs updated
    29 02-Jul-2020 12:32:08.155 INFO [Download metadata thread] hudson.model.AsyncPeriodicWork.lambda$doRun$0 Started Download metadata
    30 02-Jul-2020 12:32:08.171 INFO [Download metadata thread] hudson.model.AsyncPeriodicWork.lambda$doRun$0 Finished Download metadata. 3 ms
    31 02-Jul-2020 12:32:09.264 INFO [Finalizing set up] org.springframework.context.support.AbstractApplicationContext.prepareRefresh Refreshing org.springframework.web.context.support.StaticWebApplicationContext@6a8c7465: display name [Root WebApplicationContext]; startup date [Thu Jul 02 12:32:09 CST 2020]; root of context hierarchy
    32 02-Jul-2020 12:32:09.264 INFO [Finalizing set up] org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory Bean factory for application context [org.springframework.web.context.support.StaticWebApplicationContext@6a8c7465]: org.springframework.beans.factory.support.DefaultListableBeanFactory@3f36fb00
    33 02-Jul-2020 12:32:09.276 INFO [Finalizing set up] org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@3f36fb00: defining beans [authenticationManager]; root of factory hierarchy
    34 02-Jul-2020 12:32:09.641 INFO [Finalizing set up] org.springframework.context.support.AbstractApplicationContext.prepareRefresh Refreshing org.springframework.web.context.support.StaticWebApplicationContext@5b72f3ef: display name [Root WebApplicationContext]; startup date [Thu Jul 02 12:32:09 CST 2020]; root of context hierarchy
    35 02-Jul-2020 12:32:09.642 INFO [Finalizing set up] org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory Bean factory for application context [org.springframework.web.context.support.StaticWebApplicationContext@5b72f3ef]: org.springframework.beans.factory.support.DefaultListableBeanFactory@7af1238d
    36 02-Jul-2020 12:32:09.642 INFO [Finalizing set up] org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@7af1238d: defining beans [filter,legacy]; root of factory hierarchy
    37 02-Jul-2020 12:32:09.711 INFO [pool-6-thread-3] jenkins.InitReactorRunner$1.onAttained Completed initialization
    38 02-Jul-2020 12:32:09.732 INFO [Jenkins initialization thread] hudson.WebAppMain$3.run Jenkins is fully up and running
    39 02-Jul-2020 12:32:13.581 INFO [ContainerBackgroundProcessor[StandardEngine[Catalina]]] org.apache.catalina.webresources.Cache.backgroundProcess The background cache eviction process was unable to free [10] percent of the cache for Context [] - consider increasing the maximum size of the cache. After eviction approximately [9,361] KB of data remained in the cache.
    40 ^C
    41 [root@k8s-node2 logs]# netstat -nlutp
    42 Active Internet connections (only servers)
    43 Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
    44 tcp        0      0 0.0.0.0:24007           0.0.0.0:*               LISTEN      46232/glusterd      
    45 tcp        0      0 127.0.0.1:10248         0.0.0.0:*               LISTEN      30748/kubelet       
    46 tcp        0      0 127.0.0.1:10249         0.0.0.0:*               LISTEN      6803/kube-proxy     
    47 tcp        0      0 192.168.110.134:10250   0.0.0.0:*               LISTEN      30748/kubelet       
    48 tcp        0      0 192.168.110.134:10255   0.0.0.0:*               LISTEN      30748/kubelet       
    49 tcp        0      0 0.0.0.0:42863           0.0.0.0:*               LISTEN      -                   
    50 tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      1/systemd           
    51 tcp        0      0 0.0.0.0:20048           0.0.0.0:*               LISTEN      89395/rpc.mountd    
    52 tcp        0      0 0.0.0.0:6000            0.0.0.0:*               LISTEN      7030/X              
    53 tcp        0      0 192.168.122.1:53        0.0.0.0:*               LISTEN      7281/dnsmasq        
    54 tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      6804/sshd           
    55 tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      6806/cupsd          
    56 tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      7142/master         
    57 tcp        0      0 0.0.0.0:34587           0.0.0.0:*               LISTEN      71097/rpc.statd     
    58 tcp        0      0 0.0.0.0:49152           0.0.0.0:*               LISTEN      62108/glusterfsd    
    59 tcp        0      0 0.0.0.0:49153           0.0.0.0:*               LISTEN      62128/glusterfsd    
    60 tcp        0      0 0.0.0.0:2049            0.0.0.0:*               LISTEN      -                   
    61 tcp6       0      0 :::5000                 :::*                    LISTEN      14488/docker-proxy- 
    62 tcp6       0      0 :::45450                :::*                    LISTEN      -                   
    63 tcp6       0      0 :::60684                :::*                    LISTEN      71097/rpc.statd     
    64 tcp6       0      0 :::111                  :::*                    LISTEN      1/systemd           
    65 tcp6       0      0 :::8080                 :::*                    LISTEN      39956/java          
    66 tcp6       0      0 :::20048                :::*                    LISTEN      89395/rpc.mountd    
    67 tcp6       0      0 :::30000                :::*                    LISTEN      6803/kube-proxy     
    68 tcp6       0      0 :::6000                 :::*                    LISTEN      7030/X              
    69 tcp6       0      0 :::22                   :::*                    LISTEN      6804/sshd           
    70 tcp6       0      0 ::1:631                 :::*                    LISTEN      6806/cupsd          
    71 tcp6       0      0 ::1:25                  :::*                    LISTEN      7142/master         
    72 tcp6       0      0 :::2049                 :::*                    LISTEN      -                   
    73 tcp6       0      0 :::4194                 :::*                    LISTEN      30748/kubelet       
    74 tcp6       0      0 127.0.0.1:8005          :::*                    LISTEN      39956/java          
    75 udp        0      0 0.0.0.0:5353            0.0.0.0:*                           6442/avahi-daemon:  
    76 udp        0      0 0.0.0.0:44601           0.0.0.0:*                           -                   
    77 udp        0      0 0.0.0.0:52808           0.0.0.0:*                           6442/avahi-daemon:  
    78 udp        0      0 0.0.0.0:20048           0.0.0.0:*                           89395/rpc.mountd    
    79 udp        0      0 0.0.0.0:58973           0.0.0.0:*                           71097/rpc.statd     
    80 udp        0      0 0.0.0.0:2049            0.0.0.0:*                           -                   
    81 udp        0      0 192.168.122.1:53        0.0.0.0:*                           7281/dnsmasq        
    82 udp        0      0 0.0.0.0:67              0.0.0.0:*                           7281/dnsmasq        
    83 udp        0      0 192.168.110.134:8285    0.0.0.0:*                           6810/flanneld       
    84 udp        0      0 0.0.0.0:111             0.0.0.0:*                           1/systemd           
    85 udp        0      0 0.0.0.0:829             0.0.0.0:*                           89270/rpcbind       
    86 udp        0      0 127.0.0.1:889           0.0.0.0:*                           71097/rpc.statd     
    87 udp6       0      0 :::20048                :::*                                89395/rpc.mountd    
    88 udp6       0      0 :::2049                 :::*                                -                   
    89 udp6       0      0 :::111                  :::*                                1/systemd           
    90 udp6       0      0 :::43464                :::*                                -                   
    91 udp6       0      0 :::54072                :::*                                71097/rpc.statd     
    92 udp6       0      0 :::829                  :::*                                89270/rpcbind       
    93 [root@k8s-node2 logs]# 

    访问地址http://192.168.110.134:8080,发现已经出现了界面了,如下所示:

    如果之前安装过Jenkins,可以将之前安装过的/root/.jenkins/,放置到这个目录/root目录下面,减少安装时间。如果没有安装过程,这里执行上面的步骤即可。

    根据界面的提示,到路径 /root/.jenkins/secrets/initialAdminPassword 下找出密码,然后复制填入即可。

    1 [root@k8s-node2 package]# cat /root/.jenkins/secrets/initialAdminPassword
    2 1ddc1bf154b24b34bd20a10d36f6c87f
    3 [root@k8s-node2 package]# 

    点击继续,出现下面的步骤,如下所示:

    选择左侧安装推荐的插件,等待安装即可,出现下面的界面。 

    注意:安装插件有时下载速度奇慢,导致可能出现安装失败的情况,建议大家参考网上的这篇博客:https://www.cnblogs.com/hellxz/p/jenkins_install_plugins_faster.html。 我一开始没有使用,但是安装失败了,算了,还是抓紧搞一下。

    default.json其实在Jenkins的工作目录中,其实就是在/root/.jenkins/updates/default.json,如下所示:

     1 [root@k8s-node2 .jenkins]# cd ~
     2 [root@k8s-node2 ~]# cd /root/.jenkins/
     3 [root@k8s-node2 .jenkins]# 
     4 [root@k8s-node2 .jenkins]# ls
     5 config.xml                     identity.key.enc                               jenkins.install.UpgradeWizard.state  jobs  nodeMonitors.xml  plugins        secret.key                secrets  userContent
     6 hudson.model.UpdateCenter.xml  jenkins.install.InstallUtil.installingPlugins  jenkins.telemetry.Correlator.xml     logs  nodes             queue.xml.bak  secret.key.not-so-secret  updates  users
     7 [root@k8s-node2 .jenkins]# cd updates/
     8 [root@k8s-node2 updates]# ls
     9 default.json  hudson.tasks.Maven.MavenInstaller
    10 [root@k8s-node2 updates]# pwd
    11 /root/.jenkins/updates
    12 [root@k8s-node2 updates]# 

    这里为了避免搞错了,先备份一下default.json配置文件,方便后来使用。这里使用参考连接里面的第二个方法,第一个再搞错了不好办了。

    1 [root@k8s-node2 updates]# 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
    2 [root@k8s-node2 updates]# 

    重启Jenkins,安装插件试试,访问http://192.168.110.134:8080/。输入密钥解锁Jenkins点击继续。

    我这里之前没有使用加速安装了,导致有两个安装失败了,其他安装速度很快很快。我这里将之前安装的删除掉了,重新安装试一下,如下所示:

     1 [root@k8s-node2 ~]# ll .jenkins/
     2 total 52
     3 -rw-r-----  1 root root  475 Jul  2 17:36 com.cloudbees.hudson.plugins.folder.config.AbstractFolderConfiguration.xml
     4 -rw-r-----  1 root root 1654 Jul  2 17:39 config.xml
     5 -rw-r-----  1 root root  156 Jul  2 17:36 hudson.model.UpdateCenter.xml
     6 -rw-r-----  1 root root  370 Jul  2 17:39 hudson.plugins.git.GitTool.xml
     7 -rw-------  1 root root 1712 Jul  2 12:09 identity.key.enc
     8 -rw-r-----  1 root root    7 Jul  2 12:09 jenkins.install.UpgradeWizard.state
     9 -rw-r-----  1 root root  171 Jul  2 12:09 jenkins.telemetry.Correlator.xml
    10 drwxr-x---  2 root root    6 Jul  2 12:09 jobs
    11 drwxr-x---  3 root root   19 Jul  2 12:09 logs
    12 -rw-r-----  1 root root  907 Jul  2 17:36 nodeMonitors.xml
    13 drwxr-x---  2 root root    6 Jul  2 12:09 nodes
    14 drwxr-x--- 76 root root 8192 Jul  2 17:39 plugins
    15 -rw-r-----  1 root root  129 Jul  2 17:36 queue.xml.bak
    16 -rw-r-----  1 root root   64 Jul  2 12:09 secret.key
    17 -rw-r-----  1 root root    0 Jul  2 12:09 secret.key.not-so-secret
    18 drwx------  4 root root  265 Jul  2 12:09 secrets
    19 drwxr-x---  2 root root  206 Jul  2 17:39 updates
    20 drwxr-x---  2 root root   24 Jul  2 12:09 userContent
    21 drwxr-x---  3 root root   56 Jul  2 12:09 users
    22 drwxr-x---  2 root root    6 Jul  2 17:39 workflow-libs
    23 [root@k8s-node2 ~]# ls
    24 anaconda-ks.cfg  Desktop  Documents  Downloads  initial-setup-ks.cfg  Music  package  Pictures  Public  Templates  Videos  桌面
    25 [root@k8s-node2 ~]# rm -rf .jenkins/
    26 [root@k8s-node2 ~]# ll .j
    27 .java/    .jenkins/ 
    28 [root@k8s-node2 ~]# ll .j
    29 .java/    .jenkins/ 
    30 [root@k8s-node2 ~]# ll .jenkins/
    31 total 4
    32 -rw-r----- 1 root root 29 Jul  2 17:42 failed-boot-attempts.txt
    33 [root@k8s-node2 ~]# 

    关闭tomcat然后将tomcat的webapp下面的ROOT删除掉。建议的顺序是首先关闭tomcat,然后将tomcat的webapp下面的ROOT删除掉,然后删除掉rm -rf /root/.jenkins/,不然会有残余文件。重新安装,由于我是将Jenkins的包打成了ROOT的包了,所以直接启动tomcat即可,然后访问http://192.168.110.134:8080输入密钥解锁Jenkins点击继续。注意:记得修改default.json配置文件哈,不然等会下载还是很慢。

    下载安装很快,大概不到一分钟,这里建议直接使用加速安装插件,不然会走弯路的,如下所示:

    经历了机器重启,才搞到这一步,所以一定要进行加速安装插件哦,不然瞎折腾。

    创建用户登录Jenkins,上面安装完插件之后,需要设置一个管理员用户。

    填写信息之后,可以选择使用admin账户继续,也可以直接选择 保存并完成,根据自己情况选择。我这里点击保存并完成,然后出现下面的界面: 

    点击保存并完成,出现如下界面:

    点击开始使用jenkins,如下所示:

    在jenkins上创建构建项目,目的就是可以拉取自己在gitlab创建的项目,jenkins想要从gitlab上拉取项目,需要一个凭据,这里生成一个密钥对,如下所示: 

     1 [root@k8s-node2 ~]# ssh-keygen -t rsa
     2 Generating public/private rsa key pair.
     3 Enter file in which to save the key (/root/.ssh/id_rsa): 
     4 Created directory '/root/.ssh'.
     5 Enter passphrase (empty for no passphrase): 
     6 Enter same passphrase again: 
     7 Your identification has been saved in /root/.ssh/id_rsa.
     8 Your public key has been saved in /root/.ssh/id_rsa.pub.
     9 The key fingerprint is:
    10 SHA256:Adk+pA0k3pYeTdy7rPW8kpG8RiXJsFKCsofEzh0Apqo root@k8s-node2
    11 The key's randomart image is:
    12 +---[RSA 2048]----+
    13 |.+...oo+..       |
    14 |o +.oo+=* .      |
    15 |.+ =..=Oo+ o     |
    16 |. = ooo.=.= .    |
    17 |.  .  ..S+ =     |
    18 |.         O      |
    19 |E        + *     |
    20 |        . = o    |
    21 |         . ...   |
    22 +----[SHA256]-----+
    23 [root@k8s-node2 ~]# 

    此时,将公钥复制下来配置到gitlab上面,如下所示:

    1 [root@k8s-node2 ~]# cat /root/.ssh/id_rsa.pub 
    2 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDxL6Uzp8DoprShlTJZwtYg3+8/LS+FO+I+Gb8k4I8hRO1Q6nURUtjujgY1pSgS5j3D0XV4Ei4rwEcpNAxMlu7bQmZM1YQ+g7ot/rgBOEsveEYg1bDYiKVjPHQXv6Nulv9F+Cw5mK8NSdxeXmO1OVs42+/SFYzTCuQxBP1/b0tDRKXNIZIUKWbKHF6gpx8mmwkSy342n02AFB4L29S7KbN4U4t05LnL4UYZByAZbUG3YB9YAPs/h7IRrO0vWmbDPKlMqmGLCqYDlO1In4RTshHp05SHhjxM6Y7eYZvGTMG9ev2iJnbkDpclAnEuHZPMm+O56RwGw6HrG9ACR98s8nSJ root@k8s-node2
    3 [root@k8s-node2 ~]# 

    将公钥配置到gltlab的settings位置,如下所示:

    将公钥复制到ssh keys的位置,如下所示:

    添加完公钥是这样的,如下所示:

    现在开始配置Jenkins的凭据,如果看不到凭据,可以点下右上角的admin哦,如下所示:

    然后点击用户,看到全局凭据,点击全局凭据,如下所示:

    点击全局凭据,如下所示:

    然后点击添加凭据,如下所示:

    添加凭据,就是添加私钥,方便拉取 gitlab上面的代码,查看私钥并进行复制,如下所示:

     1 [root@k8s-node2 ~]# cat /root/.ssh/id_rsa
     2 -----BEGIN RSA PRIVATE KEY-----
     3 MIIEpAIBAAKCAQEA8S+lM6fA6Ka0oZUyWcLWIN/vPy0vhTviPhm/JOCPIUTtUOp1
     4 EVLY7o4GNaUoEuY9w9F1eBIuK8BHKTQMTJbu20JmTNWEPoO6Lf64AThLL3hGINWw
     5 2IilYzx0F7+jbpb/RfgsOZivDUncXl5jtTlbONvv0hWM0wrkMQT9f29LQ0SlzSGS
     6 FClmyhxeoKcfJpsJEst+Np9NgBQeC9vUuymzeFOLdOS5y+FGGQcgGW1Bt2AfWAD7
     7 P4eyEaztL1pmwzypTKphiwqmA5TtSJ+EU7IR6dOUh4Y8TOmO3mGbxkzBvXr9oiZ2
     8 5A6XJQJxLh2TzJvjuekcBsOh6xvQAkffLPJ0iQIDAQABAoIBADcfDoCJvFrvjqTH
     9 NmSxVMLaqxEjQJMQpppOxBKnh86wtBQkIXE+H/oVV3H3Nvtqx37zZgd1EDxLi3ft
    10 P0pZzGkr+blhqwGmlWxhpKgSt4w3zr8+V1aFlFbjwByVXcKum9Tf7SuUq5073jNr
    11 GxqV6zVJfrvi1PZ+rLxPSahQRUEwA6DI3yeokPLP5voJITcbGMSPmUfy4avAk9RP
    12 /fsjPomYOBKy51zj72Bj88t8g6Qta89ttKYcdaQSJ4VkEJ8fGcNy47w6fQLlwV4y
    13 kdig4CQVQrKAbTgb3wBh6KPQLfb1ATWGQ7QT1NeEISckobllOIHjG76dan6XfkKr
    14 1bT5sAkCgYEA/jJko0p8NaKxvgDjymDVf0dqcFbt94VHsXhRibQSzRwOi4spKv79
    15 aIn/oqbjgzugGA8FIQsL2bBz1KSyN5LHzgegg5G2TAT6XJLHnbmDP0Sp3I2IYwAp
    16 vGqZ6vARYMDeJI9rML7RbXOaSV9WNdJrPQxo3ilkWxjYXKUkVXtEDIMCgYEA8uWg
    17 HfxxmY+X2xQwqaVlAZ0FIzZG06CViFou8ygoeceGOjbeOAMVOMnwWDswkwY+TWpA
    18 qZCoWzmbnp3xirZbnS7gYd5sXIAcoPuCpX8Y5eiDvpy4Sk0bT+95diYJTcpYrup4
    19 7+UM4U22FRZuVqldOl2WKNi80V3nNYXrBrBtRQMCgYBbbZys7tmGISJ1CLTl0bZ4
    20 tSMfjOTCpnmG55PMR6yLgY/puP/xqw1SUHBV/FjQlt2aSay6mdKFVeYTkblYK78Z
    21 57xgFkTPSusR6OlLXbJLS1MdNPrdQO3CC0WZLwfRGQ3NcJhJTBjfmTjhMx069pgD
    22 uTbu0Ux7R5BqoitTY6ayKQKBgQDPOHWEf4TO9EEiZzQo1vC4EqR6aOi9zSclH4Mk
    23 cOMvGbh626pzcLXfL/C65SxIki/+zaICx2XKBfistqSFqZO5Im/NLvuVYrqJ4GiS
    24 Fj9AjUAwEvXqdaPSa0RdNpADbJiCCYlJaEi3whuQHAXgKzdc/tCHYnibyZfiArEC
    25 kOt3zwKBgQCy3O4dFyHRxMlbxxd/Kdapa4HjQ/dCcEX5+IqXEGe5e07lKH+UnCtt
    26 km94rYbS66BppGuBoDbH9t8fmDaXWDkVPxmnMkGsNh1yG99PX5MWAj9qh4BKCnAU
    27 +hXD4qmYgTCL2CiNjj+Wbk6gIxy16wKn29ARdCseDRGj0AFe6I9itg==
    28 -----END RSA PRIVATE KEY-----
    29 [root@k8s-node2 ~]# 

    点击确定之后,如下所示:

    此时,在jenkins新建一个任务,如下所示:

    点击创建一个新任务,如下所示:

    创建一个自由风格的项目,如下所示:

    可以写下描述,如下所示:

    源码管理,选择git,如下所示:

    将gitlab的项目地址复制过来,这里郁闷的是全局凭据无法选择,这里再配置一下吧。

    报错了,无法连接仓库:Error performing git command: git ls-remote -h git@192.168.110.135:root/feiji.git HEAD。

    解决方法,Jenkins服务器上查看git是否已安装及安装位置。

     1 git:[root@k8s-node2 ~]# yum install git
     2 Loaded plugins: fastestmirror, langpacks, product-id, search-disabled-repos, subscription-manager
     3 
     4 This system is not registered with an entitlement server. You can use subscription-manager to register.
     5 
     6 Loading mirror speeds from cached hostfile
     7 epel/x86_64/metalink                                                                                                                                                                      | 8.7 kB  00:00:00     
     8  * base: mirror.bit.edu.cn
     9  * centos-gluster7: mirrors.huaweicloud.com
    10  * epel: mirror.lzu.edu.cn
    11  * extras: mirrors.huaweicloud.com
    12  * updates: mirrors.huaweicloud.com
    13 base                                                                                                                                                                                      | 3.6 kB  00:00:00     
    14 centos-gluster7                                                                                                                                                                           | 3.0 kB  00:00:00     
    15 epel                                                                                                                                                                                      | 4.7 kB  00:00:00     
    16 extras                                                                                                                                                                                    | 2.9 kB  00:00:00     
    17 updates                                                                                                                                                                                   | 2.9 kB  00:00:00     
    18 (1/3): epel/x86_64/updateinfo                                                                                                                                                             | 1.0 MB  00:00:00     
    19 (2/3): epel/x86_64/primary_db                                                                                                                                                             | 6.8 MB  00:00:02     
    20 (3/3): updates/7/x86_64/primary_db                                                                                                                                                        | 3.0 MB  00:00:07     
    21 Resolving Dependencies
    22 --> Running transaction check
    23 ---> Package git.x86_64 0:1.8.3.1-23.el7_8 will be installed
    24 --> Processing Dependency: perl-Git = 1.8.3.1-23.el7_8 for package: git-1.8.3.1-23.el7_8.x86_64
    25 --> Processing Dependency: perl(Term::ReadKey) for package: git-1.8.3.1-23.el7_8.x86_64
    26 --> Processing Dependency: perl(Git) for package: git-1.8.3.1-23.el7_8.x86_64
    27 --> Processing Dependency: perl(Error) for package: git-1.8.3.1-23.el7_8.x86_64
    28 --> Running transaction check
    29 ---> Package perl-Error.noarch 1:0.17020-2.el7 will be installed
    30 ---> Package perl-Git.noarch 0:1.8.3.1-23.el7_8 will be installed
    31 ---> Package perl-TermReadKey.x86_64 0:2.30-20.el7 will be installed
    32 --> Finished Dependency Resolution
    33 
    34 Dependencies Resolved
    35 
    36 =================================================================================================================================================================================================================
    37  Package                                                Arch                                         Version                                                 Repository                                     Size
    38 =================================================================================================================================================================================================================
    39 Installing:
    40  git                                                    x86_64                                       1.8.3.1-23.el7_8                                        updates                                       4.4 M
    41 Installing for dependencies:
    42  perl-Error                                             noarch                                       1:0.17020-2.el7                                         base                                           32 k
    43  perl-Git                                               noarch                                       1.8.3.1-23.el7_8                                        updates                                        56 k
    44  perl-TermReadKey                                       x86_64                                       2.30-20.el7                                             base                                           31 k
    45 
    46 Transaction Summary
    47 =================================================================================================================================================================================================================
    48 Install  1 Package (+3 Dependent packages)
    49 
    50 Total download size: 4.5 M
    51 Installed size: 22 M
    52 Is this ok [y/d/N]: y
    53 Downloading packages:
    54 (1/4): perl-Error-0.17020-2.el7.noarch.rpm                                                                                                                                                |  32 kB  00:00:00     
    55 (2/4): perl-TermReadKey-2.30-20.el7.x86_64.rpm                                                                                                                                            |  31 kB  00:00:00     
    56 (3/4): perl-Git-1.8.3.1-23.el7_8.noarch.rpm                                                                                                                                               |  56 kB  00:00:02     
    57 (4/4): git-1.8.3.1-23.el7_8.x86_64.rpm                                                                                                                                                    | 4.4 MB  00:00:03     
    58 -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    59 Total                                                                                                                                                                            1.2 MB/s | 4.5 MB  00:00:03     
    60 Running transaction check
    61 Running transaction test
    62 Transaction test succeeded
    63 Running transaction
    64 Warning: RPMDB altered outside of yum.
    65   Installing : 1:perl-Error-0.17020-2.el7.noarch                                                                                                                                                             1/4 
    66   Installing : perl-TermReadKey-2.30-20.el7.x86_64                                                                                                                                                           2/4 
    67   Installing : perl-Git-1.8.3.1-23.el7_8.noarch                                                                                                                                                              3/4 
    68   Installing : git-1.8.3.1-23.el7_8.x86_64                                                                                                                                                                   4/4 
    69   Verifying  : git-1.8.3.1-23.el7_8.x86_64                                                                                                                                                                   1/4 
    70   Verifying  : 1:perl-Error-0.17020-2.el7.noarch                                                                                                                                                             2/4 
    71   Verifying  : perl-Git-1.8.3.1-23.el7_8.noarch                                                                                                                                                              3/4 
    72   Verifying  : perl-TermReadKey-2.30-20.el7.x86_64                                                                                                                                                           4/4 
    73 
    74 Installed:
    75   git.x86_64 0:1.8.3.1-23.el7_8                                                                                                                                                                                  
    76 
    77 Dependency Installed:
    78   perl-Error.noarch 1:0.17020-2.el7                                  perl-Git.noarch 0:1.8.3.1-23.el7_8                                  perl-TermReadKey.x86_64 0:2.30-20.el7                                 
    79 
    80 Complete!
    81 [root@k8s-node2 ~]# git version
    82 git version 1.8.3.1
    83 [root@k8s-node2 ~]# 

    构建选择执行shell命令,如下所示:

    先执行命令,看看是否可以拉取成功,如下所示:

    点击保存,如下所示:

    然后点击立即构建,如下所示:

    然后可以看到控制台输出,已经执行成功了,如下所示:

    也可以去jenkins的目录查看,可以看到已经将项目代码拉取下来了,此时说明jenkins已经没有问题了,如下所示:

     1 [root@k8s-node2 ~]# cd /root/.jenkins/
     2 [root@k8s-node2 .jenkins]# ls
     3 com.cloudbees.hudson.plugins.folder.config.AbstractFolderConfiguration.xml  hudson.plugins.git.GitTool.xml                  jenkins.telemetry.Correlator.xml  plugins                   secrets        workspace
     4 config.xml                                                                  identity.key.enc                                jobs                              queue.xml                 updates
     5 credentials.xml                                                             jenkins.install.InstallUtil.lastExecVersion     logs                              queue.xml.bak             userContent
     6 fingerprints                                                                jenkins.install.UpgradeWizard.state             nodeMonitors.xml                  secret.key                users
     7 hudson.model.UpdateCenter.xml                                               jenkins.model.JenkinsLocationConfiguration.xml  nodes                             secret.key.not-so-secret  workflow-libs
     8 [root@k8s-node2 .jenkins]# cd workspace/
     9 [root@k8s-node2 workspace]# ls
    10 feiji  feiji@tmp
    11 [root@k8s-node2 workspace]# cd feiji
    12 [root@k8s-node2 feiji]# ls
    13 img  index.html  js
    14 [root@k8s-node2 feiji]# 

     

    5、构建docker镜像并测试,生产环境中,点击一下立即构建,可以立马打包一个docker镜像,可以这样做在gitlab上面提交一份Dockerfile,直接点击一下立即构建,Jenkins就执行了docker build就可以构建出了Docker镜像。现在手动写一下Dockerfile

    1 [root@k8s-node3 feiji]# vim dockerfile
    2 [root@k8s-node3 feiji]# 

    配置内容,如下所示:

    1 FROM 192.168.110.133:5000/nginx:1.13
    2 
    3 # 将本目录下面的所有文件都加入进来
    4 ADD . /usr/share/nginx/html

    如果直接执行,会将dockerfile放入进去,这里将dockerfile排除掉,如下所示:

    1 [root@k8s-node3 feiji]# vim .dockerignore
    2 [root@k8s-node3 feiji]# 

    配置内容,如下所示:

    1 [root@k8s-node3 feiji]# cat .dockerignore 
    2 dockerfile
    3 [root@k8s-node3 feiji]# 

    构建镜像,并进行查看,如下所示:

     1 [root@k8s-node3 feiji]# docker build -t feiji:v1 .
     2 Sending build context to Docker daemon 5.057 MB
     3 Step 1/2 : FROM 192.168.110.133:5000/nginx:1.13
     4 Trying to pull repository 192.168.110.133:5000/nginx ... 
     5 sha256:e4f0474a75c510f40b37b6b7dc2516241ffa8bde5a442bde3d372c9519c84d90: Pulling from 192.168.110.133:5000/nginx
     6 f2aa67a397c4: Pull complete 
     7 3c091c23e29d: Pull complete 
     8 4a99993b8636: Pull complete 
     9 Digest: sha256:e4f0474a75c510f40b37b6b7dc2516241ffa8bde5a442bde3d372c9519c84d90
    10 Status: Downloaded newer image for 192.168.110.133:5000/nginx:1.13
    11  ---> ae513a47849c
    12 Step 2/2 : ADD . /usr/share/nginx/html
    13  ---> b33766b3a721
    14 Removing intermediate container 50b188475556
    15 Successfully built b33766b3a721
    16 [root@k8s-node3 feiji]# docker images | grep feiji
    17 feiji                                             v1                  b33766b3a721        13 seconds ago      114 MB
    18 [root@k8s-node3 feiji]# 

    现在开始进行测试看看是否正常,直接启动一个容器,想自动构建镜像,首先看看手动是否可以成功,如下所示:

    1 # 88端口映射到80端口号上
    2 [root@k8s-node3 feiji]# docker run -d -p 88:80 feiji:v1 
    3 9a068575fdc98a7bd195fae564bc6645cca356982f95cb58eb97522cba9e3f18
    4 [root@k8s-node3 feiji]# 

    访问地址,http://192.168.110.135:88/

    此时项目已经构建成功了,手动构建项目是ok的。现在将刚才的命令结合jenkins进行实现,此时将这两个文件dockerfile、.dockerignore添加到我们的仓库里面去。

     1 [root@k8s-node3 feiji]# ls
     2 css  dockerfile  img  index.html  js
     3 [root@k8s-node3 feiji]# git add .
     4 [root@k8s-node3 feiji]# git commit -m 'first update feiji'
     5 [master caba46a] first update feiji
     6  2 files changed, 9 insertions(+)
     7  create mode 100644 .dockerignore
     8  create mode 100644 dockerfile
     9 [root@k8s-node3 feiji]# git push -u origin master
    10 Username for 'http://192.168.110.135': root
    11 Password for 'http://root@192.168.110.135': 
    12 Counting objects: 5, done.
    13 Delta compression using up to 2 threads.
    14 Compressing objects: 100% (3/3), done.
    15 Writing objects: 100% (4/4), 507 bytes | 0 bytes/s, done.
    16 Total 4 (delta 0), reused 0 (delta 0)
    17 To http://192.168.110.135/root/feiji.git
    18    6a6a1d5..caba46a  master -> master
    19 Branch master set up to track remote branch master from origin.
    20 [root@k8s-node3 feiji]# 

    此时,来gitlab进行查看,已经发生了改变,已经将两个文件dockerfile、.dockerignore上传上去了,如下所示:

    此时,gitlab已经修改了,此时需要更新Jenkins,点击项目的设置,如下所示: 

    1 # 代码拉取下来之后,执行构建镜像,构建仓库的时候写上私有仓库的地址
    2 docker build -t 192.168.110.133:5000/feiji:v1 .
    3 # 上传到私有仓库里面
    4 docker push 192.168.110.133:5000/feiji:v1

    此时,再次点击立即构建,等会查看私有仓库是否有该镜像,如下所示:

    此时,发现已经构建成功了。此时存在的问题就是,如果再次点击立即构建,代码版本还是v1版本,会将之前的历史版本替换了,此时如何做到保留历史版本,这里每次立即构建的时候,需要每次更新Vx的版本,修改项目配置里面的变量。使用jenkins环境变量BUILD_ID。

    这样就保证每次的版本就会更新的了,这样就解决了版本更新的问题。

    此时,还有一个问题,除了版本更新的问题之外,还有一个问题就是每次更新并没有进行代码的更新,如果代码没有发生变化,此时不应该生成新的镜像。

    1 #!/bin/bash
    2 if [ $GIT_PREVIOUS_SUCCESSFUL_COMMIT == $GIT_COMMIT ];then
    3     echo "no change,skip build"
    4     exit 0
    5 else
    6     echo "git pull commit id not equals to current commit id trigger build"
    7 fi

    此时,尝试立即构建,但是没有进行任何更新,如下所示:

     

    展开全文
  • 目录一、项目概述二、jenkins服务器上安装配置docker三、编写dockerfile并push到gitlab仓库四、jenkins服务器配置1.提前拉取dockerfile中需要的nginx镜像2.查看控制台输出3.安装相关插件4.更改test项目配置5.点击...

    一、项目概述

    • 我们想要创建一个jenkins项目,最终实现这样一个效果:
      在server1上编写dockerfile,然后push到gitlab仓库,再经过gitlab触发jenkins,从而实现自动构建docker镜像的目的

    二、jenkins服务器上安装配置docker

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    三、编写dockerfile并push到gitlab仓库

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    四、jenkins服务器配置

    1.提前拉取dockerfile中需要的nginx镜像

    在这里插入图片描述

    2.查看控制台输出

    在这里插入图片描述

    3.安装相关插件

    在这里插入图片描述
    在这里插入图片描述

    4.更改test项目配置

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    5.点击手动触发jenkins项目并查看控制台输出

    在这里插入图片描述
    在这里插入图片描述

    6.检验构建效果

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    7.排错并重新触发jenkins项目,重新构建镜像并测试

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • 提前拉取dockerfile中需要的nginx镜像2.查看控制台输出3.安装相关插件4.更改test项目配置5.点击手动触发jenkins项目并查看控制台输出6.检验构建效果 一、jenkins服务器上安装配置docker 我们想要创建一个jenkins...

    一、jenkins服务器上安装配置docker

    我们想要创建一个jenkins项目,最终实现这样一个效果:
    在server1上编写dockerfile,然后push到gitlab仓库,再经过gitlab触发jenkins,从而实现自动构建docker镜像的目的

    #安装并设置开机自启
    [root@server2 yum.repos.d]# yum install -y docker-ce
    [root@server2 yum.repos.d]# systemctl start docker
    [root@server2 yum.repos.d]# systemctl enable docker
    
    [root@server2 yum.repos.d]# sysctl -a | grep bridge-nf-call-iptables
    
    #添加内核参数,激活网络桥街
    [root@server2 yum.repos.d]# cd /etc/sysctl.d/
    [root@server2 sysctl.d]# vim docker.conf
    [root@server2 sysctl.d]# cat docker.conf 
    net.bridge.bridge-nf-call-iptables = 1
    net.bridge.bridge-nf-call-ip6tables = 1
    
    [root@server2 sysctl.d]# sysctl --system
    [root@server2 sysctl.d]# docker info
    

    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述

    二、 编写dockerfile并push到gitlab仓库

    [root@server1 ~]# cd demo/
    [root@server1 demo]# ls
    index.html  README.md
    [root@server1 demo]# vim Dockerfile  #在nginx镜像的基础上添加nginx的访问测试页,打包成新的镜像
    FROM nginx
    COPY index.html /usr/share/nginx/html   
    [root@server1 demo]# git status -s
    [root@server1 demo]# git add Dockerfile
    [root@server1 demo]# git commit -a -m "v3" #提交更改
    [root@server1 demo]# git push -u origin master #push到远程仓库
    

    在这里插入图片描述
    在这里插入图片描述

    三、 jenkins服务器配置

    1. 提前拉取dockerfile中需要的nginx镜像

    [root@server2 sysctl.d]# docker pull nginx
    

    在这里插入图片描述

    2.查看控制台输出

    在这里插入图片描述

    3.安装相关插件

    在这里插入图片描述

    4.更改test项目配置

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    [root@server2 sysctl.d]# chmod 777 /var/run/docker.sock
    [root@server2 sysctl.d]# ll /var/run/docker.sock 
    

    在这里插入图片描述

    5.点击手动触发jenkins项目并查看控制台输出

    在这里插入图片描述
    在这里插入图片描述

    6.检验构建效果

    在这里插入图片描述

    展开全文
  • 即“构建docker镜像,并利用构建的镜像运行容器”的hello项目和docker项目已经构建好。 本篇博文是在上篇博文的基础上进行推进的,解决两个问题: webserver容器运行导致docker工程构建失败; 没有向registry...
  • 我们学会了在主机上安装部署docker,也学会了构建自己的docker镜像和容器,启停也都会用了,下一步就需要持续构建发布docker的技能了。我们希望能在代码提交后,有个远程服务能自动开始构建项目、拉取相应的镜像,...
  • 手动构建Docker镜像

    2020-03-31 10:37:27
    在实际项目中,我们通常采用Jenkins自动化构建构建Docker镜像,但是公司有时候Jenkins会挂掉或者Jenkins空间不足会导致无法构建镜像,这个时候如果项目地需要升级镜像版本就只能干等,构建镜像除了使用Jenkins来...
  • 文章目录一、Docker镜像的分层理解二、Docker镜像的创建(一)、Docker镜像(二)、Docker镜像的创建方法三、基于已有镜像创建四、基于本地模板创建1、通过导入操作系统模板文件生成新的镜像2、使用wget命令导入为...
  • Dockerfile提供了一系列统一的资源配置语法指令,开发人员可以根据需求定制Dockerfile,然后使用这份Dockerfile文件进行自动化镜像构建,简化了构建镜像的复杂过程,同时Dockerfile与镜像配合使用,使Docker构建时...
  • 本文详细介绍了如何一步一步搭建gitlab环境,并且通过一个.net 5的demo项目演示了如何使用内置的CI/CD功能来实现自动化构建、测试和构建镜像并上传 本文不包含难懂的实现原理,掌握了基本linux命令、docker命令和...
  • 本篇博文配置的自动化部署之推送docker镜像是在上篇博文的hello项目构建成功之后,才触发的。 git——>gitlab——>jenkins——>docker build images——>docker engine ——&...
  • 一,简单介绍 docker镜像构建方式有两种方式,第一种是启动基础容器之后,进入容器安装所需要的文件,配置,变量等,完成后使用docker commit提交成为一个新的镜像,第二种则是通过编写dockerfile文件,进行镜像制作...
  • web应用的自动化打包和发布; 自动化测试和持续集成、发布; 在服务型环境中部署和调整数据库或其他的后台应用; 从头编译或者扩展现有的OpenShift或Cloud Foundry平台来搭建自己的PaaS环境。 项目结构 package ...
  • GitHub Actions构建Docker镜像

    千次阅读 2020-05-17 22:19:05
    GitHub Actions是为GitHub上的项目添加CI / CD工作流的自动化工具。注意:在本文中,我们将讨论将CI / CD工作流程集成到使用Docker的项目中的各个步骤。在使...
  • Docker 自动化构建,为数据容器提供最小的 Docker 镜像,与 Docker Compose 兼容。 基本原理 纯数据容器不需要 Linux 发行版。 它只需要一个可执行文件来启动容器。 是完美的 Docker 镜像。 它提供了/true可执行...
  • 容器部署越来越多的用于企业的生产环境中,如何构建可靠、安全、最小Docker 镜像也就越来越重要。本文将针对该问题,通过原理加实践的方式,从头到脚帮你撸一遍。文章有点长,主要通过五个部分对容器镜像进行...
  • 主要还是自动化的考虑,如果额外使用Dockerfile进行镜像生成,可能会需要自己手动指定jar/war位置,并且打包和生成镜像间不同步,带来很多琐碎的工作。 插件选择 使用比较多的是spotify的插件:...
  • docker-maven-plugin 插件就是为了帮助我们在 Maven 工程中,通过简单的配置,自动生成镜像并推送到仓库中。 spotify 、fabric8 这里主要使用的主要是如下两种插件 spotify 、fabric8 , … -配置通过 xml 定义出 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 547
精华内容 218
关键字:

自动化构建docker镜像