蓝色的天_90  

安装环境

  • 操作系统 centos7.3

  • 安装Docker,安装及配置见 《Docker之Docker介绍及安装配置

  • 安装Jenkins


    下载Jenkins

  • 一、Jenkins安装
    1.获取docker镜像

  • docker pull jenkins

     


    2.查看jenkins版本

  • docker inspect jenkins

     

  • 1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    [root@localhost ~]# docker inspect jenkins
    [
        {
            "Id": "sha256:cd14cecfdb3a657ba7d05bea026e7ac8b9abafc6e5c66253ab327c7211fa6281",
            "RepoTags": [
                "jenkins:latest"
            ],
            "RepoDigests": [
                "jenkins@sha256:eeb4850eb65f2d92500e421b430ed1ec58a7ac909e91f518926e02473904f668"
            ],
            "Parent": "",
            "Comment": "",
            "Created": "2018-07-17T16:20:34.183816595Z",
            "Container": "a3e3890f6333066d464113032a93622a8a12305fa1cf7a29e57ad29cbde66a19",
            "ContainerConfig": {
                "Hostname": "a3e3890f6333",
                "Domainname": "",
                "User": "jenkins",
                "AttachStdin": false,
                "AttachStdout": false,
                "AttachStderr": false,
                "ExposedPorts": {
                    "50000/tcp": {},
                    "8080/tcp": {}
                },
                "Tty": false,
                "OpenStdin": false,
                "StdinOnce": false,
                "Env": [
                    "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                    "LANG=C.UTF-8",
                    "JAVA_HOME=/docker-java-home",
                    "JAVA_VERSION=8u171",
                    "JAVA_DEBIAN_VERSION=8u171-b11-1~deb9u1",
                    "CA_CERTIFICATES_JAVA_VERSION=20170531+nmu1",
                    "JENKINS_HOME=/var/jenkins_home",
                    "JENKINS_SLAVE_AGENT_PORT=50000",
                    "TINI_VERSION=0.14.0",
                    "TINI_SHA=6c41ec7d33e857d4779f14d9c74924cab0c7973485d2972419a3b7c7620ff5fd",
                    "JENKINS_VERSION=2.60.3",
                    "JENKINS_UC=https://updates.jenkins.io",
                    "JENKINS_UC_EXPERIMENTAL=https://updates.jenkins.io/experimental",
                    "COPY_REFERENCE_FILE_LOG=/var/jenkins_home/copy_reference_file.log"
                ],
                "Cmd": [
                    "/bin/sh",
                    "-c",
                    "#(nop) COPY file:a4f750618f51f00d2f8268ac43fdd8d8ef5ce16e1d412afa5a9bc7492a5d975f in /usr/local/bin/install-plugins.sh "
                ],
                "ArgsEscaped": true,
                "Image": "sha256:9e1d90142b1a1b659fae5d4b6427c3196495b24006ac29943aac019390bdd5d1",
                "Volumes": {
                    "/var/jenkins_home": {}
                },
                "WorkingDir": "",
                "Entrypoint": [
                    "/bin/tini",
                    "--",
                    "/usr/local/bin/jenkins.sh"
                ],
                "OnBuild": [],
                "Labels": {}
            },
            "DockerVersion": "17.06.2-ce",
            "Author": "",
            "Config": {
                "Hostname": "",
                "Domainname": "",
                "User": "jenkins",
                "AttachStdin": false,
                "AttachStdout": false,
                "AttachStderr": false,
                "ExposedPorts": {
                    "50000/tcp": {},
                    "8080/tcp": {}
                },
                "Tty": false,
                "OpenStdin": false,
                "StdinOnce": false,
                "Env": [
                    "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                    "LANG=C.UTF-8",
                    "JAVA_HOME=/docker-java-home",
                    "JAVA_VERSION=8u171",
                    "JAVA_DEBIAN_VERSION=8u171-b11-1~deb9u1",
                    "CA_CERTIFICATES_JAVA_VERSION=20170531+nmu1",
                    "JENKINS_HOME=/var/jenkins_home",
                    "JENKINS_SLAVE_AGENT_PORT=50000",
                    "TINI_VERSION=0.14.0",
                    "TINI_SHA=6c41ec7d33e857d4779f14d9c74924cab0c7973485d2972419a3b7c7620ff5fd",
                    "JENKINS_VERSION=2.60.3",
                    "JENKINS_UC=https://updates.jenkins.io",
                    "JENKINS_UC_EXPERIMENTAL=https://updates.jenkins.io/experimental",
                    "COPY_REFERENCE_FILE_LOG=/var/jenkins_home/copy_reference_file.log"
                ],
                "Cmd": null,
                "ArgsEscaped": true,
                "Image": "sha256:9e1d90142b1a1b659fae5d4b6427c3196495b24006ac29943aac019390bdd5d1",
                "Volumes": {
                    "/var/jenkins_home": {}
                },
                "WorkingDir": "",
                "Entrypoint": [
                    "/bin/tini",
                    "--",
                    "/usr/local/bin/jenkins.sh"
                ],
                "OnBuild": [],
                "Labels": null
            },
            "Architecture": "amd64",
            "Os": "linux",
            "Size": 695718055,
            "VirtualSize": 695718055,
            "GraphDriver": {
                "Data": {
                    "LowerDir": "/var/lib/docker/overlay2/0d29e24fe75cbdb208ecb411bb2ebed2bf14de7b74da80899bf3cb65034ef90b/diff:/var/lib/docker/overlay2/3880d516c2506c6179730899cc1b3946b81bbc8f978ff488bae14c7b80ec933a/diff:/var/lib/docker/overlay2/812e49fd758182e4fb3d71159c15ab0815b9d7229329ba74931e4ae92a7763b8/diff:/var/lib/docker/overlay2/e2560b6a9c566cc1720c3313337259b68caa9e3f1ad331173a03b93f12524ceb/diff:/var/lib/docker/overlay2/e7ec25bbb7d232e60629969973507a622670ef64f2690e94f462d52aecd142bd/diff:/var/lib/docker/overlay2/36bffec22ff3af366a47805feca49dd862a4eb0b2a5814a7b857ecfad64e446f/diff:/var/lib/docker/overlay2/0a98ad8da0ded10dad6c26a7970665c8d948dd76bf18df68bb6d607cb517563f/diff:/var/lib/docker/overlay2/49dae95c4b4a42584b014f91e2f3fc9841e9ce6da566b21181c0a9b47e62ae6a/diff:/var/lib/docker/overlay2/d261d98f9f7564e8f04be46aed32974bebe1d0dfd13e0917f65494307a31d464/diff:/var/lib/docker/overlay2/e240752f2b7e868e7227d898efa7902c36903ca8c7f929cf293c8ca647bc6c08/diff:/var/lib/docker/overlay2/994d6c02ddfc3124ba8e4620475d0f04c5cbf2786b2fcb40bc1ef2325f50802c/diff:/var/lib/docker/overlay2/e182e8cd263a6239b68300f6ebf60baab86aabdbde157e92af849df871e7d4e0/diff:/var/lib/docker/overlay2/4e8a773b7ac16afb7815ba79af339c2c7ddfc3f27d0c6b465071179bc7e09e3c/diff:/var/lib/docker/overlay2/711ce086dd89ef5d2c781e73a601177f6b35e90900a1b22b0ed8f775fedb91fa/diff:/var/lib/docker/overlay2/7abf702f4da530ed159af0f84ad87f2416077dd7458cc11ea05e47c56c5f7a6f/diff:/var/lib/docker/overlay2/c88c187eaaef98695d21ec49987793cce27137fdb75ae2a2b650d2a440ae828c/diff:/var/lib/docker/overlay2/ec7becae8e35806e2e17f6d93e250ad38bf944293800c472c31a663cdb1eec11/diff:/var/lib/docker/overlay2/53312955925ee209944e70d24a080dcb89ea944a548c9edd4624afbd1f581924/diff:/var/lib/docker/overlay2/abf752d7c713285775f8bf3c80a9719ab7b60476305d664095466e8028e317c3/diff",
                    "MergedDir": "/var/lib/docker/overlay2/ee2f7b45daf8d367044507df8bcac2c4c72bc7d95e67486ff7b0c4e2f5d1713a/merged",
                    "UpperDir": "/var/lib/docker/overlay2/ee2f7b45daf8d367044507df8bcac2c4c72bc7d95e67486ff7b0c4e2f5d1713a/diff",
                    "WorkDir": "/var/lib/docker/overlay2/ee2f7b45daf8d367044507df8bcac2c4c72bc7d95e67486ff7b0c4e2f5d1713a/work"
                },
                "Name": "overlay2"
            },
            "RootFS": {
                "Type": "layers",
                "Layers": [
                    "sha256:3b10514a95bec77489a57d6e2fbfddb7ddfdb643907470ce5de0f1b05c603706",
                    "sha256:719d45669b35360e3ca0d53d159c42ca9985eb925a6b28ac38d0ded39a1314e8",
                    "sha256:ce6466f43b110e66d7d3a72600262a1f1b015d9a64aad5f133f081868d4825fc",
                    "sha256:fa0c3f992cbd10a0569ed212414b50f1c35d97521f7e4a9e55a9abcf47ca77e2",
                    "sha256:c477b6c8ca459c76222eb535faedb8979f4094552ac2a6cd56cb0f29262fdcfb",
                    "sha256:9c2e8b91bfa88a95f732adec2bfc5c03fb40c535e6646ecf386235cdfb4e0e96",
                    "sha256:c3ebb2aa7787555b542be6400d8064ae209a29d90c6e1b99ac5d02d5040392b4",
                    "sha256:518c9e7eb3264c27c8d77b4d194c80d14373c5942c2da2e4409f062573139f1b",
                    "sha256:571ae0d6961ab39851cdf93f5a753902cdd563d82e78cea54cbb6b0d420eb8f4",
                    "sha256:9fe468dbb76f324cd4287ea7e32edf6fe0f8aa993776fc152a17ae4a9a68f948",
                    "sha256:6ff38243bfb80a82749f0a954d1bd2faaa5673de4be5d5d9665100e2785fed40",
                    "sha256:c19390bb619a105dd32e573b3a26765216ee27736304266909104607045b4779",
                    "sha256:a0775f499ef138c2badd29831b31c28f4515c7802d0bde35111c8f8c7b60ed7d",
                    "sha256:1db7316340117880a83816808041a1f9ea1848632ab72f51ce79fb60a6135e3e",
                    "sha256:047f9c957a2e718be97e9928f1170d25e7dadd71737ca2a1e8e3db139c905915",
                    "sha256:ceed640cbb9350a13ce3051520b59833fb2fc4bc05c69873792293a2a27a485c",
                    "sha256:d51e4482f53a5764af588bea1c8dda817e968af11e7e2df3ae3051757e1dc533",
                    "sha256:37c1d818eb0bf741290f4122d6ae95b1dffb1f544896b0089ad7789613fa8804",
                    "sha256:b1891bf16fa79f6376941e4b2409d26f2c85e993de9ba3dcaee57dc80ac4d889",
                    "sha256:0577e068c587d352efe5dd72477ae6927626840d167fbbf59e17241b8f50a127"
                ]
            },
            "Metadata": {
                "LastTagTime": "0001-01-01T00:00:00Z"
            }
        }
    ]

     

  • 启动Jenkins前准备


    创建jenkins文件夹

    创建jenkins文件夹,用于和容器内文件夹做磁盘挂载

    命令: 

    mkdir /usr/local/jenkins 

    为jenkins 文件夹添加读写权限以便jenkins应用运行时读写文件

  • chmod 777 /usr/local/jenkins 

     

  • 启动Jenkins

  • docker run -itd -p 8880:8080 -p 50000:50000 --name jenkins --privileged=true -v /usr/local/jenkins:/usr/local/jenkins docker.io/jenkins/jenkins

    •  -p 8880:8880 -p 50000:50000 进行端口映射

    • --privileged=true 在CentOS7中的安全模块selinux把权限禁掉了,参数给容器加特权。

    • -v /usr/local/jenkins:/usr/local/jenkins 磁盘挂载

    • --name 以启动容器的名字
      第一个jenkins 容器的名字 (--name jenkins --privileged=true)

      第二个jenkins 镜像的名字(/usr/local/jenkins:/usr/local/jenkins jenkins)

      当容器停止时/jenkins不会被清除,便于数据备份,体现了数据与程序分离的原则,通过--name 来指定Jenkins的名称,便于查找

查看运行状态

docker ps

 

 

访问jenkins服务需要输入密码
先进入到容器内部 

docker exec -it jenkins /bin/bash

 

jenkins 为容器的名字

 

 退出当前jenkins

exit

 

 

查看防火墙状态

systemctl status firewalld

查看防火墙的开放端口

firewall-cmd --list-all 

结果报错:

 

解决:是因为 之前安装过Python3 将Python2.7 替换导致的

 

以上提示中提到了“/usr/bin/firewall-cmd”,我们输入以下命令:

vi /usr/bin/firewall-cmd

修改第一行,在python后面添加数字2.7:

修改后保存即可

在此输入 

firewall-cmd --list-all 

查看对应的规则信息

 

 

将jenkins 端口 8880加入到开放的列表中

   firewall-cmd --permanent --add-port=8880/tcp

 

 

# 移除端口 附加的防火墙其他知识
firewall-cmd --permanent --remove-port=8080/tcp
#重启防火墙(修改配置后要重启防火墙)
firewall-cmd --reload

再次查看防火墙开放的端口,8880 被加入进去

 接下来就可以用http://ip:8880 来访问jenkins

 

 

 

 根据提示进入到  容器中查看对应的密码

 

 将密码粘贴到此处

 

 输入后安装建议的插件,推荐的插件里就包含版本控制软件git。

 

 

 

完毕后,根据提示设置登陆账户

然后新建一个项目,在源代码控制那一栏,输入你的项目的线上git仓库地址,注意默认应该是master分支,因为生产环境部署的代码必须是主分支

 

posted on   蓝色的天_90  阅读(1883)  评论(2编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
 
点击右上角即可分享
微信分享提示