实战-Docker方式安装Jenkins-20230319-测试成功-荐
Day2-实战:Docker方式安装Jenkins-2023.3.19(测试成功)-荐
目录
[toc]
实验环境
win10笔记本1台虚机centos7.61810vmworkstationjenkins/jenkins:2.346.3-2-lts-jdk11docker20.10.211台linux虚机(Jenkins用docker启动,agent直接跑在宿主机上。)
实验软件(无)
前置条件
docker环境已安装(本次版本:20.10.21)
安装好jdk11
Jenkins是由Java语言开发的,运行需要提前安装好JDK。注意最新版本之后不在兼容JDK8而是需要JDK11+版本。
Jenkins Server和Agent的运行都需要依赖JDK;(Jenkins是docker安装的,其环境里自带了java,但是jenkins agent环境也是需要安装jdk的,因此这里的测试虚机就需要安装jdk11了。)
1、安装Jenkins Server
0.安装jdk环境
⚠️ 我的测试环境,是在一台虚机上跑了一个jenkins容器。但后面添加一个jenkins agent时,是将这个虚机作为其agent使用,因此这个虚机也要安装java环境的!!!
不管你是jenkins master节点,还是agent节点,都是需要jdk环境的!
#安装[root@Devops6 ~]#yum install -y java-11-openjdk.x86_64……Installed:java-11-openjdk.x86_641:11.0.18.0.10-1.el7_9DependencyInstalled:copy-jdk-configs.noarch0:3.3-11.el7_9cups-libs.x86_641:1.6.3-51.el7dejavu-fonts-common.noarch0:2.33-6.el7dejavu-sans-fonts.noarch0:2.33-6.el7fontconfig.x86_640:2.13.0-4.3.el7fontpackages-filesystem.noarch0:1.44-8.el7giflib.x86_640:4.1.6-9.el7graphite2.x86_640:1.3.10-1.el7_3harfbuzz.x86_640:1.7.5-2.el7java-11-openjdk-headless.x86_641:11.0.18.0.10-1.el7_9javapackages-tools.noarch0:3.4.1-11.el7libICE.x86_640:1.0.9-9.el7libSM.x86_640:1.2.2-2.el7libX11.x86_640:1.6.7-4.el7_9libX11-common.noarch0:1.6.7-4.el7_9libXau.x86_640:1.0.8-2.1.el7libXext.x86_640:1.3.3-3.el7libXi.x86_640:1.7.9-1.el7libXrender.x86_640:0.9.10-1.el7libXtst.x86_640:1.2.3-1.el7libfontenc.x86_640:1.1.3-3.el7libjpeg-turbo.x86_640:1.2.90-8.el7libxcb.x86_640:1.13-1.el7lksctp-tools.x86_640:1.0.17-2.el7pcsc-lite-libs.x86_640:1.8.8-8.el7python-javapackages.noarch0:3.4.1-11.el7python-lxml.x86_640:3.2.1-4.el7ttmkfdir.x86_640:3.0.9-42.el7tzdata-java.noarch0:2022g-1.el7xorg-x11-font-utils.x86_641:7.5-21.el7xorg-x11-fonts-Type1.noarch0:7.5-9.el7Complete!#验证[root@Devops6 ~]#java --versionopenjdk11.0.182023-01-17LTSOpenJDKRuntimeEnvironment(Red_Hat-11.0.18.0.10-1.el7_9) (build11.0.18+10-LTS)OpenJDK64-BitServerVM(Red_Hat-11.0.18.0.10-1.el7_9) (build11.0.18+10-LTS,mixedmode,sharing)
1.docker拉取jenkins镜像并启动容器
- 下载jenkins镜像
安装Jenkins的Server节点,Server节点作为主控节点负责调度任务。
进入hub.docker.com官方的镜像仓库,下载Jenkins的镜像。
在dockerhub里搜索jenkins/jenkins
,点击tag
,搜索jdk11
,然后选择jenkins:2.346.3-2-lts-jdk11
即可:
DockerHUB上面有很多版本的镜像,大家根据镜像的更新时间,别找错了🌝🌝好多是4年前的…
我们使用最新LTS版本的Jenkins 2.346.3。
1、宿主机上创建Jenkins数据目录
准备一个用于存储Jenkins数据的目录。因为我们用Docker安装的,容器的数据如果没有进行持久化当容器被删除了会出现数据丢失。
我们需要把Jenkins数据目录持久化,先去创建一个本地的目录并赋予权限。
[root@Devops6 ~]#mkdir -p /data/devops6/jenkins_home[root@Devops6 ~]#chmod 777 -R /data/devops6/jenkins_home
2、启动Jenkins容器
dockerrun-itd--namejenkins\-p 8080:8080\-p 50000:50000\-e JAVA_OPTS="-Dorg.apache.commons.jelly.tags.fmt.timeZone='Asia/Shanghai"\--privileged=true \--restart=always \-v /data/devops6/jenkins_home:/var/jenkins_homejenkins/jenkins:2.346.3-2-lts-jdk11
说明:
容器运行后需要开放端口。
8080默认Jenkins web页面使用的端口。
50000是Agent连接Server用到的通信端口。(后面安装JenkinsAgent的时候要注意网络连通性)
时区配置,定义默认的时区。(JAVA_OPTS环境变量为修改时间配置,否则可能jenkins的时间显示有问题!)
持久化数据目录,挂载本地的数据目录。
3、验证
启动Jenkins容器后。然后docker logs 看下日志。在日志中可以获取到激活Jenkins需要用到的密钥字符串。保存下来。
#查看jenkins容器运行状态[root@Devops6 ~]#docker psCONTAINERIDIMAGECOMMANDCREATEDSTATUSPORTSNAMESd6139736ef4cjenkins/jenkins:2.346.3-2-lts-jdk11"/usr/bin/tini -- /u…"5secondsagoUp3seconds0.0.0.0:8080->8080/tcp,:::8080->8080/tcp,0.0.0.0:50000->50000/tcp,:::50000->50000/tcpjenkins#查看jenkins容器log[root@Devops6 ~]#docker logs jenkins……Jenkinsinitialsetupisrequired.Anadminuserhasbeencreatedandapasswordgenerated.Pleaseusethefollowingpasswordtoproceedtoinstallation:315798fcf926460fb1da173032767596Thismayalsobefoundat:/var/jenkins_home/secrets/initialAdminPassword……
2.访问web界面并输入密码
- 输入密码后,这边的加载一会儿,耐心等一会儿:
加载完成后,出现如下界面:
3.自定义安装插件
- 点击
选择插件来安装
:
点击无
,我们先不安装插件,待后续根据需求再安装相应的插件即可:
- 插件安装完成后,出现如下界面:
- 自定义安装插件,这里取消安装推荐的插件。只选择语言插件进行安装(本次也不打算安装汉化插件,直接使用jenkins的英文界面了)。(此处不应安装太多的插件,可能会出现网络原因导致安装失败。我们先安装好Jenkins后面用到哪些插件的时候再选择性的安装好)
安装进度也可以通过docker logs查询日志获取。
4.创建一个管理员用户
- 账户:admin 密码:admin ,输入完成后,点击
保存并完成
:
- 点击
保存并完成
:
- 点击
开始使用jenkins
:
这里就进入到了jenkins的主界面:
5、配置Jenkins插件源
1.本次新版本的插件源好像是不用变的
当前jenkins版本:jenkins/jenkins:2.346.3-2-lts-jdk11
- Jenkins插件源配置地方