一.搭建环境所需软件版本:本次搭建是从本地服务器访问远程服务器进行部署
1.环境准备:
服务器虚拟机操作系统:CentOS7
jenkins:2.319.1
java版本:1.8.0_312
git版本:2.9.5 (Jenkins本机默认使用"yum install -y git" 安装的git版本比较低1.8左右,应自行安装更高版本)
二.进行搭建
1.安装2.0之后的jenkins需要安装jdk1.8及以上(没有配置jdk的请参考:剧与的个人空间 - OSCHINA - 中文开源技术交流社区)
2.安装jenkins:
①安装jenins包:(http://mirrors.jenkins-ci.org/redhat/) ,执行如下命令进行安装:
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat/jenkins.io.key
yum install epel-release # repository that provides 'daemonize'
yum install java-11-openjdk-devel
yum install jenkins
②安装rpm包:
③Jenkins配置jdk:进入到如下文件,找到candidates,添加自己的java安装目录
vi /etc/rc.d/init.d/jenkins
④修改Jenkins默认端口和用户为root:Jenkins的默认JENKINS_PORT是8080,同Tomcat默认端口冲突
vi /etc/sysconfig/jenkins
⑤启动jenkins服务:service jenkins start
⑥彻底卸载jenkins(后面需要的话)
service jenkins stop
yum clean all
yum -y remove jenkins
rm -rf /var/cache/jenkins
rm -rf /var/lib/jenkins/
三.访问Jenkins:http://服务器IP:④中配置的端口/
Jenkins启动成功!由于它自带Jetty服务器,剩下的工作我们全部在浏览器中进行;
第一次启动Jenkins时,出于安全考虑,Jenkins会自动生成一个随机的按照口令。注意控制台输出的口令路径,复制下来,粘贴口令;
进入安装界面,如果执行默认的安装,Jenkins就自动配置好了Maven、git等常用插件。最后,创建一个管理员用户,完成安装。
四.配置相关插件:jdk,maven,SSH plugin,Xcode integration等自己所需的:
五.进行全局配置:
凭证: Configuration System里:
七.新建一个需要部署的项目,一般为maven项目:
八.进入项目,进行相关配置:
上面的脚本:
①将本地打的包传到项目服务器上:
#!/bin/sh
DAY=`date +%Y-%m-%d`
sshpass -p 'Ztessc!@2021' scp ./manager/target/manager-0.0.1-SNAPSHOT.jar [email protected]:/home/zfd_datacenter/pkgs
②登录项服务器,杀掉之前项目的进程,挂起新jar包的进程,完成自动化打包与部署:
APP_NAME=manager-0.0.1-SNAPSHOT.jar
pid=`ps -ef|grep $APP_NAME|grep -v grep|awk '{print $2}' `
if [ -n "${pid}" ]; then
kill -9 $pid
fi
nohup java -jar /home/zfd_datacenter/pkgs/manager-0.0.1-SNAPSHOT.jar >/dev/null 2>&1 &
九.配置完成点击构建运行:
十.安装可能遇到问题参考:
1.错误: 无法验证 pkg.jenkins.io 的由 “/C=US/O=Let's Encrypt/CN=R3” 颁发的证书:
颁发的证书已经过期。
要以不安全的方式连接至 pkg.jenkins.io,使用“--no-check-certificate”
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat/jenkins.repo
sudo yum install -y ca-certificates wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat/jenkins.repo