**
jenkins部署文档说明
**
安装
方法一:官网安装方法
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
yum install jenkins
官网中此方法本人在安装时候第二步失败,我采用的第二种方法。
方法二:rmp安装方法
随便下载一个版本(配置好要在可视化界面升级,不然很多插件用不了)
wget https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat-stable/jenkins-2.289.2-1.1.noarch.rpm
rpm -ivh jenkins-2.289.2-1.1.noarch.rpm
修改配置
vim /etc/sysconfig/jenkins
修改监听端口和用户和避免杀死衍生进程配置
JENKINS_USER="root"
JENKINS_PORT="18080"
JENKINS_JAVA_OPTIONS="-Dhudson.util.ProcessTree.disable=true"
重启服务
service jenkins restart
systemctl start jenkins
(如果没有jdk配置,此处启动会失败,要配置java环境变量)
方法三:docker安装(openssh8.4版本会存在执行shell时候杀死衍生进程,解决方法请参考
此方式要求服务器有docker环境,此处不做详解安装docker请参照)
拉取jenkins镜像
docker pull jenkins/jenkins:latest
jenkins镜像查看
docker images
镜像启动
docker run -d -p 10240:8080 -p 10241:50000 -v /home/jenkins_mount:/var/jenkins_home -v /etc/localtime:/etc/localtime --name myjenkins jenkins/jenkins #10240为宿主机访问端口 8080为docker容器端口 -d后台运行 -v挂载目录
(会存在挂载权限问题导致运行容器失败,请参考
)
查看启动镜像
docker ps #查看我们部署的镜像
jenkins访问并配置(我采用的第二种方式)
访问地址:http://服务器ip+配置端口号
4.1如果出现卡在这个界面一直进不去(如果没有请忽略)
需要你进入jenkins的工作目录(/etc/sysconfig/jenkins
),打开-----hudson.model.UpdateCenter.xml将 url 中的
https://updates.jenkins.io/update-center.json
更改为https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
是国内的清华大学的镜像地址。
然后重启jenkins服务
4.2查看密码进入
cat /var/lib/jenkins/secrets/initialAdminPassword
4.3选择安装推荐的插件
创建管理员用户
(创建后第一次重新登录,可能会出现用自己刚创建的账号密码登不上的情况,如果登不上,可以尝试用之前的密码试一下)
jenkins可视化界面升级和配置
5.1 jenkins升级 ,在manage jenkins目录下(在红框位置左右,会有提示升级的,直接升级就好,我已经升级了,不然有些插件安装不上。)
5.2 升级好之后就可以安装插件了(以下是我安装的常用插件)
maven
svn
nodejs
5.3 jdk和maven基础
jdk
/opt/java/jdk1.8.0_20211 #自己服务器java安装目录
maven
jenkins Job构建
前端项目和后台项目(前端项目用node方式,后台是pom方式)
后台
-DskipTests=true clean package -P dev
#!/bin/bash
wsDir=/var/lib/jenkins/workspace/gb-yq/gb-yq/target
cd $wsDir
zipList=$(ls gb-yq-*.zip)
ps -aux | grep gb-yq| grep -v grep | awk '{print $2}'| xargs kill -9
if [ $zipList ];then
for file in $zipList
do
unzipDir=${file%-*}
if [ -d "$unzipDir" ];then
echo "$unzipDir has been existed,remove it."
rm -rf $unzipDir
fi
if [ -f "$file" ];then
unzip $file
if [ -d "$unzipDir" ];then
echo "remove file $file"
rm -rf $file
fi
cd $unzipDir
sh start.sh start dev
fi
done
else
echo "Warn,$targetDir not find gb-yq install package."
fi