1. 安装jdk
** 最新版本Jenkins最低需要java11,如果你的环境是java8 ,但是想安装官方最新版,可以选择用步骤3war包方式安装,跳过步骤2 (APT安装方式)**
注:如果你想系统运行环境同时存在多种不同的JDK,推荐看看我的另一篇文章,
Linux安装jenv,灵活管理jdk(不同目录,采用不同的jdk)_fyhju1的博客-CSDN博客
2. 安装Jenkins(APT)
2.1. 配置源
sudo apt-get install --reinstall ca-certificates
wget -q -O - https://pkg.jenkins.io/debian/jenkins-ci.org.key | sudo apt-key add -
sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
2.2.更新源
sudo apt-get -y update
这一步会可能会报错,Could not connect to pkg.jenkins.io:80 (146.75.114.133), connection timed out [IP: 146.75.114.133 80
不要紧,多执行几次,反复试,总有一次能成功,我也是搞了好几次才OK
2.3.安装
sudo apt-get install jenkins
开放8080端口防火墙
sudo ufw allow 8080
默认端口是8080,通过http://ip:8080/访问
管理员默认密码地址:/var/lib/jenkins/secrets/initialAdminPassword
cat /var/lib/jenkins/secrets/initialAdminPassword
2.4 配置jenkins
设置管理源密码,账户,选择“安装推荐的插件”即可
2.5 修改默认端口
检查 /etc/init.d/jenkins 脚本,修改 do_start 函数的 check_tcp_port 命令,端口号从 8080 换成 8848:
修改 /etc/default/jenkins 文件,将端口 8080 改成 8848
修改 /usr/lib/systemd/system/jenkins.service,将8080改成8848,并将user,group修改为root
-
开放8848端口
sudo ufw allow 8848
重启Jenkins
# 由于修改了配置,这一步必须要做
systemctl daemon-reload
systemctl restart jenkins
2.6 卸载Jenkins(APT)
//服务
sudo apt-get remove jenkins
//安装包,注意这里如果不是ubuntu那就yum
sudo apt-get remove --auto-remove jenkins
//配置和数据
sudo apt-get purge jenkins
sudo apt-get purge --auto-remove jenkins
2.7 其他命令
# 关闭Jenkins
systemctl stop jenkins
# 开启Jenkins
systemctl start jenkins
3. 安装Jenkins (war)
如果是用步骤2安装,可以跳过这一步,步骤2
3.1 下载
下载war包:Jenkins download and deployment
3.2 启动
上传服务器,放置到/home/jenkins/目录,可以自定义
vim start.sh
# jdk 地址
export JAVA_HOME=/home/java/jdk-11.0.16
# /home/jenkins/jenkins.war 为Jenkins war包放置地址
nohup $JAVA_HOME/bin/java -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=128m -Xms1024m -Xmx1024m -Xmn256m -Xss256k -XX:SurvivorRatio=8 -XX:+UseConcMarkSweepGC -jar /home/jenkins/jenkins.war 2>&1 &
# 文件授权
sudo chmod 775 start.sh
# 打开Jenkins
bash start.sh
3.3 关闭
注:sh文件与Jenkins war在同一层级
vim stop.sh
#!/bin/bash
PID=$(ps -ef | grep jenkins.war | grep -v grep | awk '{ print $2 }')
if [ -z "$PID" ]
then
echo Application is already stopped
else
echo kill $PID
kill $PID
fi
# 文件授权
sudo chmod 775 stop.sh
# 关闭Jenkins
bash stop.sh
3.4 重启
vim restart.sh
#!/bin/bash
echo Stopping application
bash ./stop.sh
echo Starting application
bash ./start.sh
# 文件授权
sudo chmod 775 restart.sh
# 重启Jenkins
bash restart.sh
3.5 卸载
# Jenkins war包存放地址
rm -rf /home/jenkins/
# Jenkins 环境地址
rm -rf /root/.jenkins/
3.6 环境地址
与apt安装方式类似,具体参考步骤2,个人建议用APT方式安装一遍,你就知道了
注:apt 与war包安装,Jenkins环境地址是不一致的
war环境路径: /root/.jenkins/
apt环境路径: /var/lib/jenkins/
4. 配置Jenkins
4.1 插件推荐
Publish Over SSH: Publish Over SSH | Jenkins plugin
注:用于分布式环境,Jenkins构建成功后,发送服务器ssh请求
PostBuildScript :PostBuildScript | Jenkins plugin
注:用于Jenkins构建后,根据结果,执行shell脚本,可用于集群服务器
注:如果是集群环境,在在统一内网,推荐使用PostBuildScript
4.2 配置环境
点击进入“全局工具配置”
4.2.1 配置MAVEN
配置仓库地址,路径指向setting.xml文件
配置maven安装地址
4.2.2 配置JDK
JDK版本可以与Jenkins运行环境不一致,比如我安装Jenkins运行环境是java11,但是这里配置的是java8,因为我的项目打包编译环境是java8
如何安装jdk: Ubuntu 安装Oracle jdk_fyhju1的博客-CSDN博客_ubuntu安装oraclejdk
4.2.3 配置GIT
查看GIT地址
whereis git
5. 构建项目(MAVEN)
5.1 选择一个自由风格的项目
5.2 配置GIT仓库
和构建历史丢弃策略,我这里配置的是构建历史只保留7天,且只保留7个历史构建
5.3 源码配置
Credentials下点击“添加”配置git账号密码
5.4 构建触发器
选择“触发远程构建 ”,token可以随便写
5.5 打包编译
echo "开始构建项目"
echo "开始打包"
mvn clean install
echo "打包结束"
5.6 远程服务器操作(postbulidscript)
构建后操作--> Execute scripts --> add post bulid step
#!/bin/bash
echo "开始远程服务器部署"
for i in 172 171
do
echo "开始在服务器192.168.1.${i}部署项目"
scp -r /home/webServer/jenkins/remit-prod/* [email protected].${i}:/home/webServer/jenkins/
ssh [email protected].${i} "bash /home/webServer/jenkins/publish-jenkins.sh"
echo "服务器192.168.1.${i}:项目程序部署已结束"
done
rm -rf /home/webServer/jenkins/remit-prod/*
publish-jenkins.sh 相当于在各各服务器执行的shell脚本,可以自己试试看,操作
内网服务器SSH免密通信:ubuntu系统ssh免密登录配置_htzckk的博客-CSDN博客_ubuntu配置ssh免密登录
版权归原作者 fyhju1 所有, 如有侵权,请联系我们删除。