CentOS服务器上搭建Jenkins+maven+GitLab(一)——环境搭建
2).实验环境4核8G CentOS7.9.2009 192.168.142.102/103 GitLab(yum/docker)1核1G CentOS7.9.2009 192.168.142.104 Jenkinsmavengit1核1G CentOS7.9.2009 192.168.142.105 测试服务器所有服务器均已设置阿里云yum源并且yum -y install epel-release关闭SELinux和防火墙。(3).104服务器安装JenkinsmavengitJenkins下载地址https://www.jenkins.io/download/maven下载地址https://maven.apache.org/download.cgiJenkins文档相当完善可以根据需要对照操作手册自行更改安装方式我这里使用war包直接安装。maven我这里采用二进制安装包。1安装JDK根据下载的Jenkins 2.555.1 LTS版本以及Jenkins与java版本对应关系所以需要JDK21或JDK25。详细对照表如下二进制安装JDK25123456789101112131415161718[rootlocalhost ~]# java -version-bash: java: 未找到命令//我的系统没有如果显示的是openjdk version ...那就是openjdk#如果存在jdk可以使用这个命令卸载自带的openjdk[rootlocalhost ~]# yum -y remove java-*#解压二进制文件[rootlocalhost ~]# tar xvf jdk-25_linux-x64_bin.tar.gz -C /usr/local/#新增环境变量文件配置环境变量[rootlocalhost ~]# vim /etc/profile.d/jdk25.shexportJAVA_HOME/usr/local/jdk-25.0.3exportCLASS_PATH.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/jar/tools.jar:$JAVA_HOME/jre/libexportPATH$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH#加载环境变量[rootlocalhost ~]# . /etc/profile.d/jdk25.sh#测试[rootlocalhost ~]# java -versionjava version25.0.32026-04-21 LTSJava(TM) SE Runtime Environment (build 25.0.39-LTS-195)Java HotSpot(TM) 64-Bit Server VM (build 25.0.39-LTS-195, mixed mode, sharing)2上传Jenkins的war包并启动1234567891011121314151617181920#因为我是最小化安装的CentOS所以需要安装字体库否则会报错[rootlocalhost ~]# yum install -y fontconfig dejavu-sans-fonts#第一次可以不用后台启动方便查看管理员密码可以不加--httpPort8080默认端口就是8080[rootlocalhost ~]# java -jar jenkins.war --httpPort8080......[LF] *************************************************************[LF] *************************************************************[LF] *************************************************************[LF][LF] Jenkins initial setup is required. An admin user has been created and a password generated.[LF] Please use the following password to proceed to installation:[LF][LF] b58d54388531438da14c3319465a36d6[LF][LF] This may also be found at:/root/.jenkins/secrets/initialAdminPassword[LF][LF] *************************************************************[LF] *************************************************************[LF] *************************************************************......浏览器访问192.168.142.104:8080会有一段时间初始化请耐心等待。进入到如下页面后将管理员密码输入其中并继续。之后会来到自定义插件的页面如下。这里点击“选择插件来安装”然后取消所有插件来跳过插件的安装后面更换国内镜像源再安装。我这边先将建议插件记录下来方便后面安装Folders、OWASP Markup Formatter、Build Timeout、Credentials Binding、Timestamper、Workspace Cleanup、Ant、Gradle、Pipeline、GitHub Branch Source、Pipeline: GitHub Groovy Libraries、Pipeline Graph View、Git、SSH Build Agents、Matrix Authorization Strategy、LDAP、Email Extension、Mailer、Dark Theme、Localization: Chinese (Simplified)。接着进入创建管理员的页面如下创建管理员。最下面的Full name其实是填写Email地址我这里就随意填写了。默认配置之后就直接进入使用。3Jenkins配置国内镜像源新版本右上角设置--Plugins插件--Advanced settings(高级设置)--Update Site(升级站点)老版本Manage Jenkins -- Manage Plugin -- Advanced -- Update Site我这里使用华为开源镜像站的地址用之前先用浏览器打开一下有时候地址会变换。注意记录一下默认值下面有用我这里是https://updates.jenkins.io/update-center.json。维护方镜像中心地址Jenkins 中文社区https://updates.jenkins-zh.cn/update-center.json清华大学https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json华为开源镜像站可用https://mirrors.huaweicloud.com/jenkins/update-center.json腾讯https://mirrors.cloud.tencent.com/jenkins/updates/update-center.jsonustchttps://mirrors.ustc.edu.cn/jenkins/updates/update-center.jsonbithttps://mirror.bit.edu.cn/jenkins/updates/update-center.jsonlework可用https://cdn.jsdelivr.net/gh/lework/jenkins-update-center/updates/tencent/update-center.jsonhttps://cdn.jsdelivr.net/gh/lework/jenkins-update-center/updates/tsinghua/update-center.jsonhttps://cdn.jsdelivr.net/gh/lework/jenkins-update-center/updates/ustc/update-center.jsonhttps://cdn.jsdelivr.net/gh/lework/jenkins-update-center/updates/bit/update-center.json接着修改服务器中Jenkins的配置文件由于我们没有使用nohup所以另起一个窗口。注意第二条sed更具上面的默认值有些版本是“updates.jenkins.io/download”有些版本是“updates.jenkins-ci.org/download”。最好进去看一下完整的地址然后根据原来的地址找到国内源对应的地址国内源有时候地址结构会变化。12[rootlocalhost ~]# sed -i s/www.google.com/www.baidu.com/g .jenkins/updates/default.json[rootlocalhost ~]# sed -i s/updates.jenkins.io\/download/mirrors.huaweicloud.com\/jenkins/g .jenkins/updates/default.json回到第一个窗口重启Jenkins服务。我们这里直接CtrlC终止服务然后用nohup后台启动并添加开机启动。12345678910111213141516171819202122232425262728293031323334353637383940414243444546#添加开机启动[rootlocalhost ~]# vim jenkinsStart.sh#!/bin/bash# 导入java和jenkins的环境变量系统启动的时候无法读取配置文件的。exportJAVA_HOME/usr/local/jdk-25.0.3exportCLASSPATH.:${JAVA_HOME}/lib:${JRE_HOME}/libexportPATH${JAVA_HOME}/bin:$PATHexportJENKINS_HOME/root/.jenkinscd/rootnohupjava -jar jenkins.war --httpPort8080 nohup.out 21 [rootlocalhost ~]# chmod x jenkinsStart.sh[rootlocalhost ~]# vim /lib/systemd/system/jenkins.service[Unit]DescriptionJenkinsAfternetwork.target[Service]Typeforking#这里是启动脚本ExecStart/root/jenkinsStart.shExecReload#这里是停止脚本没有就留空ExecStopPrivateTmptrue[Install]WantedBymulti-user.target[rootlocalhost ~]# systemctl daemon-reload#启动jenkins[rootlocalhost ~]# systemctl start jenkins#开机启动jenkins[rootlocalhost ~]# systemctl enable jenkinsCreatedsymlinkfrom/etc/systemd/system/multi-user.target.wants/jenkins.service to/usr/lib/systemd/system/jenkins.service.[rootlocalhost ~]# systemctl status jenkins● jenkins.service - JenkinsLoaded: loaded (/usr/lib/systemd/system/jenkins.service; enabled; vendor preset: disabled)Active: active (running) since Fri 2026-05-29 22:25:46 CST; 14s agoMain PID: 1279 (java)CGroup:/system.slice/jenkins.service└─1279 java -jar jenkins.war --httpPort8080May 29 22:25:46 localhost.localdomain systemd[1]: Starting Jenkins...May 29 22:25:46 localhost.localdomain systemd[1]: Started Jenkins.最后网页重新登录新版本右上角设置--Plugins插件--Available plugins可用插件--搜索需要的插件进行安装老版本Manage Jenkins -- Manage Plugin --Available--搜索需要的插件进行安装。把上面推荐的插件全部安装完成并且再安装Maven IntegrationIDEA或Eclipse本地开发环境、Pipeline Maven Integration(CI/CD流水线)、Publish Over SSH通过SSH发送构建产物--jar包。注意有些时候找不到插件到“Installed Plugins”(已安装的插件)里面看一下有些安装时会被作为依赖已经安装上去了。将需要的插件安装完成后地址栏输入192.168.142.104:8080/restart重启Jenkins。注意有一些插件比较新时国内源没有及时更新就会报404错误可以在搜索后直接点击进入官方插件仓库下载.hpi文件然后使用“高级”标签页上传部署最后重启。我这里以Credentials Binding插件为例报错如下12345678910111213141516java.io.FileNotFoundException: https://mirrors.huaweicloud.com/jenkins/plugins/credentials-binding/725.ve52b_2328a_fde/credentials-binding.hpiat java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1696)at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1302)at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:223)at hudson.model.UpdateCenter$UpdateCenterConfiguration.download(UpdateCenter.java:1362)Caused: java.io.IOException: Failed to load https://mirrors.huaweicloud.com/jenkins/plugins/credentials-binding/725.ve52b_2328a_fde/credentials-binding.hpi to/root/.jenkins/plugins/credentials-binding.jpi.tmpat hudson.model.UpdateCenter$UpdateCenterConfiguration.download(UpdateCenter.java:1377)Caused: java.io.IOException: Failed to download from https://mirrors.huaweicloud.com/jenkins/plugins/credentials-binding/725.ve52b_2328a_fde/credentials-binding.hpiat hudson.model.UpdateCenter$UpdateCenterConfiguration.download(UpdateCenter.java:1404)at hudson.model.UpdateCenter$DownloadJob._run(UpdateCenter.java:2053)at hudson.model.UpdateCenter$InstallationJob._run(UpdateCenter.java:2381)at hudson.model.UpdateCenter$DownloadJob.run(UpdateCenter.java:2027)at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:545)at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:328)at hudson.remoting.AtmostOneThreadExecutor$Worker.run(AtmostOneThreadExecutor.java:121)at java.base/java.lang.Thread.run(Thread.java:1474)安装本地插件方式Advanced settings高级设置--部署插件Deploy Plugin--选择文件--部署Deploy4部署mavenmaven是工具只要将二进制包解压即可1234567[rootlocalhost ~]# tar xvf apache-maven-3.9.15-bin.tar.gz -C /usr/local/[rootlocalhost ~]# /usr/local/apache-maven-3.9.15/bin/mvn -vApache Maven 3.9.15 (98b2cdbfdb5f1ac8781f537ea9acccaed7922349)Maven home:/usr/local/apache-maven-3.9.15Java version: 25.0.3, vendor: Oracle Corporation, runtime:/usr/local/jdk-25.0.3Default locale: en_US, platform encoding: UTF-8OS name:linux, version:3.10.0-1160.el7.x86_64, arch:amd64, family:unix5安装git1[rootlocalhost ~]# yum -y install git(4).102/103服务器安装GitLab这里我就直接跳过了详细查看CentOS服务器上docker搭建GitLab | CentOS服务器上yum/rpm搭建GitLab CE(5).105服务器安装JDK根据开发需求选择JDK的版本我这里使用二进制版本的JDK25123456789101112131415161718[rootlocalhost ~]# java -version-bash: java: 未找到命令//我的系统没有如果显示的是openjdk version ...那就是openjdk#如果存在jdk可以使用这个命令卸载自带的openjdk[rootlocalhost ~]# yum -y remove java-*#解压二进制文件[rootlocalhost ~]# tar xvf jdk-25_linux-x64_bin.tar.gz -C /usr/local/#新增环境变量文件配置环境变量[rootlocalhost ~]# vim /etc/profile.d/jdk25.shexportJAVA_HOME/usr/local/jdk-25.0.3exportCLASS_PATH.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/jar/tools.jar:$JAVA_HOME/jre/libexportPATH$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH#加载环境变量[rootlocalhost ~]# . /etc/profile.d/jdk25.sh#测试[rootlocalhost ~]# java -versionjava version25.0.32026-04-21 LTSJava(TM) SE Runtime Environment (build 25.0.39-LTS-195)Java HotSpot(TM) 64-Bit Server VM (build 25.0.39-LTS-195, mixed mode, sharing)