需要先搭建java环境:jdk、maven、git、docker
参考文档:java环境安装
官网地址
官网中有LTS和每周发布的两个版本,尽量选择LTS版本,LTS版本下方可看到以前的发行版,最新版本的需要java11以及以上
[root@localhost jenkins]# wget --no-check-certificate https://mirrors.jenkins.io/war-stable/2.346.1/jenkins.war
3. 启动jenkins[root@localhost jenkins]# nohup java -jar /usr/local/jenkins/jenkins.war >/usr/local/jenkins/jenkins.out &
4. 查看启动日志启动成功并初始化管理员密码在日志中:419dfb18c7d4486cbf00907d52689aaa
[root@localhost local]# tail -100f jenkins/jenkins.out
十二月 09, 2022 2:40:10 下午 Main verifyJavaVersion
警告: You are running Jenkins on Java 1.8, support for which will end on or after September 1, 2022. Please refer to the documentation for details on upgrading to Java 11: https://www.jenkins.io/redirect/upgrading-jenkins-java-version-8-to-11
Running from: /usr/local/jenkins/jenkins.war
webroot: $user.home/.jenkins
2022-12-09 06:40:12.899+0000 [id=1] INFO org.eclipse.jetty.util.log.Log#initialized: Logging initialized @2960ms to org.eclipse.jetty.util.log.JavaUtilLog
2022-12-09 06:40:13.212+0000 [id=1] INFO winstone.Logger#logInternal: Beginning extraction from war file
2022-12-09 06:40:20.879+0000 [id=1] WARNING o.e.j.s.handler.ContextHandler#setContextPath: Empty contextPath
2022-12-09 06:40:21.342+0000 [id=1] INFO org.eclipse.jetty.server.Server#doStart: jetty-9.4.45.v20220203; built: 2022-02-03T09:14:34.105Z; git: 4a0c91c0be53805e3fcffdcdcc9587d5301863db; jvm 1.8.0_291-b10
2022-12-09 06:40:23.761+0000 [id=1] INFO o.e.j.w.StandardDescriptorProcessor#visitServlet: NO JSP Support for /, did not find org.eclipse.jetty.jsp.JettyJspServlet
2022-12-09 06:40:23.920+0000 [id=1] INFO o.e.j.s.s.DefaultSessionIdManager#doStart: DefaultSessionIdManager workerName=node0
2022-12-09 06:40:23.920+0000 [id=1] INFO o.e.j.s.s.DefaultSessionIdManager#doStart: No SessionScavenger set, using defaults
2022-12-09 06:40:23.922+0000 [id=1] INFO o.e.j.server.session.HouseKeeper#startScavenging: node0 Scavenging every 600000ms
2022-12-09 06:40:32.510+0000 [id=1] INFO hudson.WebAppMain#contextInitialized: Jenkins home directory: /root/.jenkins found at: $user.home/.jenkins
2022-12-09 06:40:33.776+0000 [id=1] INFO o.e.j.s.handler.ContextHandler#doStart: Started w.@21362712{Jenkins v2.346.1,/,file:///root/.jenkins/war/,AVAILABLE}{/root/.jenkins/war}
2022-12-09 06:40:34.865+0000 [id=1] INFO o.e.j.server.AbstractConnector#doStart: Started ServerConnector@79e4c792{HTTP/1.1, (http/1.1)}{0.0.0.0:8080}
2022-12-09 06:40:34.865+0000 [id=1] INFO org.eclipse.jetty.server.Server#doStart: Started @24928ms
2022-12-09 06:40:34.866+0000 [id=22] INFO winstone.Logger#logInternal: Winstone Servlet Engine running: controlPort=disabled
2022-12-09 06:40:37.154+0000 [id=29] INFO jenkins.InitReactorRunner$1#onAttained: Started initialization
2022-12-09 06:40:37.173+0000 [id=34] INFO jenkins.InitReactorRunner$1#onAttained: Listed all plugins
2022-12-09 06:41:23.904+0000 [id=34] INFO jenkins.InitReactorRunner$1#onAttained: Prepared all plugins
2022-12-09 06:41:24.205+0000 [id=34] INFO jenkins.InitReactorRunner$1#onAttained: Started all plugins
2022-12-09 06:41:24.244+0000 [id=27] INFO jenkins.InitReactorRunner$1#onAttained: Augmented all extensions
2022-12-09 06:41:26.136+0000 [id=28] INFO jenkins.InitReactorRunner$1#onAttained: System config loaded
2022-12-09 06:41:26.137+0000 [id=28] INFO jenkins.InitReactorRunner$1#onAttained: System config adapted
2022-12-09 06:41:26.137+0000 [id=28] INFO jenkins.InitReactorRunner$1#onAttained: Loaded all jobs
2022-12-09 06:41:26.141+0000 [id=28] INFO jenkins.InitReactorRunner$1#onAttained: Configuration for all jobs updated
2022-12-09 06:41:26.283+0000 [id=48] INFO hudson.model.AsyncPeriodicWork#lambda$doRun$1: Started Download metadata
2022-12-09 06:41:26.373+0000 [id=48] INFO hudson.util.Retrier#start: Attempt #1 to do the action check updates server
2022-12-09 06:41:28.276+0000 [id=29] INFO jenkins.install.SetupWizard#init:
*************************************************************
*************************************************************
*************************************************************
Jenkins initial setup is required. An admin user has been created and a password generated.
Please use the following password to proceed to installation:
419dfb18c7d4486cbf00907d52689aaa
This may also be found at: /root/.jenkins/secrets/initialAdminPassword
*************************************************************
*************************************************************
*************************************************************
2022-12-09 06:43:31.057+0000 [id=29] INFO jenkins.InitReactorRunner$1#onAttained: Completed initialization
2022-12-09 06:43:31.888+0000 [id=21] INFO hudson.lifecycle.Lifecycle#onReady: Jenkins is fully up and running
2022-12-09 06:43:39.659+0000 [id=48] INFO h.m.DownloadService$Downloadable#load: Obtained the updated data file for hudson.tasks.Maven.MavenInstaller
2022-12-09 06:43:39.660+0000 [id=48] INFO hudson.util.Retrier#start: Performed the action check updates server successfully at the attempt #1
2022-12-09 06:43:39.672+0000 [id=48] INFO hudson.model.AsyncPeriodicWork#lambda$doRun$1: Finished Download metadata. 133,383 ms
5. 访问jenkinshttp://+ip+8080 (可以配置域名访问,我这里配置的域名访问,用ip+端口也可以访问)
启动成功需要输入初始化密码,输入后选择安装推荐插件
此处的密码即为第四步中的密码
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jzHpfMIC-1672024910306)(https://finger-guitar.oss-cn-hangzhou.aliyuncs.com/jenkins/2.png)]
此处需要配置国内镜像
官方下载插件慢 更新下载地址
cd {你的Jenkins工作目录}/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
[root@localhost updates]# cd /root/.jenkins/updates/
[root@localhost updates]# ll
总用量 2992
-rw-r--r--. 1 root root 2723189 12月 9 14:43 default.json
-rw-r--r--. 1 root root 40867 12月 9 15:06 hudson.plugins.gradle.GradleInstaller
-rw-r--r--. 1 root root 5569 12月 9 15:06 hudson.tasks.Ant.AntInstaller
-rw-r--r--. 1 root root 6178 12月 9 14:43 hudson.tasks.Maven.MavenInstaller
-rw-r--r--. 1 root root 279724 12月 9 15:06 hudson.tools.JDKInstaller
[root@localhost updates]#
[root@localhost 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
[root@localhost updates]#
重启jenkins即可
至此,jenkins安装成功
接下来为配置项
脚本:
#!/bin/bash
#maven打包
mvn clean package
echo 'package ok!'
echo 'build start!'
cd ./abc
service_name="abc"
service_prot=0000
#查看镜像id
IID=$(docker images | grep "$service_name" | awk '{print $3}')
echo "IID $IID"
if [ -n "$IID" ]
then
echo "exist $SERVER_NAME image,IID=$IID"
#删除镜像
docker rmi -f $service_name
echo "delete $SERVER_NAME image"
#构建
docker build -t $service_name .
echo "build $SERVER_NAME image"
else
echo "no exist $SERVER_NAME image,build docker"
#构建
docker build -t $service_name .
echo "build $SERVER_NAME image"
fi
#查看容器id
CID=$(docker ps | grep "$SERVER_NAME" | awk '{print $1}')
echo "CID $CID"
if [ -n "$CID" ]
then
echo "exist $SERVER_NAME container,CID=$CID"
#停止
docker stop $service_name
#删除容器
docker rm $service_name
else
echo "no exist $SERVER_NAME container"
fi
#启动
docker run -d --name $service_name --net=host -p $service_prot:$service_prot $service_name
#查看启动日志
#docker logs -f $service_name
7. 搭建完成,点击启动你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧