官网地址:Linux
首先配置jdk17的环境,jenkins依附于java
安装git apt install git
更新 apt update
安装jdk17 apt install openjdk-17-jdk
vim /etc/profile
export JAVA_HOME=/usr/local/java/
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
刷新环境变量 surce /etc/profile
官网操作,这个是长期稳定版本
sudo wget -O /usr/share/keyrings/jenkins-keyring.asc \
https://pkg.jenkins.io/debian-stable/jenkins.io-2023.key
echo deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc] \
Debian Jenkins Packages binary/ | sudo tee \
/etc/apt/sources.list.d/jenkins.list > /dev/null
sudo apt-get update
sudo apt-get install jenkins
安装jenins出现dpkg下面错误的时候操作下面的命令用apt安装java就没事
第一种方式
find / -name *.UpdateCenter.xml 找出来json文件修改源
改为https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
第二种方式
mv /var/lib/dpkg/info /var/lib/dpkg/info_bak
mkdir /var/lib/dpkg/info
apt-get update && apt-get -f install
mv /var/lib/dpkg/info/* /var/lib/dpkg/info_bak/
rm -rf /var/lib/dpkg/info
mv /var/lib/dpkg/info_bak /var/lib/dpkg/info
# 开机自启
sudo systemctl enable jenkins
# 启动
sudo systemctl start jenkins
# 重启
sudo systemctl restart jenkins
# 看 jenkins 状态
sudo systemctl status jenkins
访问ip+8080地址jenkins密码/var/lib/jenkins/secrets/initialAdminPassword
在设置里面修改密码,上面默认下面新密码
下载插件locale然后设置完后,重启jenkins
在这里面配置java和maven
自动构建后端项目jar打包
下载三个插件,搜索不到就是已经安装了
Publish over ssh:ssh传输文件的插件,相当于我们平时使用的xftp,用于上传文件到服务器。
Maven Integration plugin:用于配置maven的,用于在jenkins中打jar包。
Role-based Authorization Strategy:用于控制权限的,可以给不同用户设置管理员、读、写权限。
创建jenkins+gitlab自动构建后端项目
触发器
shell脚本启动新的jar包
脚本需要修改的地方上面不要jar的前缀
下面写jar包的地址
#!/bin/bash
# 定义应用程序名称
APP="auth-1.0-SNAPSHOT"
APP_NAME=/home/project/iot/java/${APP}".jar"
# 检查 JAR 文件是否存在
if [ ! -f "$APP_NAME" ]; then
echo "错误:JAR文件未找到:$APP_NAME"
exit 1
fi
# 获取pid
tpid=$(ps -ef | grep $APP_NAME | grep -v grep | grep -v kill | awk '{print $2}')
echo "找到的进程ID:$tpid"
# 如果进程存在,则杀死它
if [ -n "$tpid" ]; then
echo '正在杀死旧的JAR包进程...'
kill -9 $tpid
sleep 5
# 检查进程是否已被成功杀死
if ps -p $tpid > /dev/null; then
echo "错误:无法杀死旧的JAR包进程:$tpid"
exit 1
fi
fi
# 运行新的 JAR 文件
echo "正在启动新的JAR包进程:$APP_NAME"
nohup java -jar -Xms128m -Xmx256m -XX:MaxMetaspaceSize=256M $APP_NAME > city.out 2>&1 &
# 等待一段时间让新的进程启动
sleep 5
# 检查新进程是否已启动
NEW_PID=$(ps -ef | grep $APP_NAME | grep -v grep | awk '{print $2}')
if [ -z "$NEW_PID" ]; then
echo "错误:无法启动新的JAR包进程"
exit 1
else
echo "新的JAR包进程已启动:$NEW_PID"
fi
tail -f city.out
exit 0
自动构建前端web项目
博客原链接http://t.csdnimg.cn/N94WR
首先在jenkins内下载这两个插件Publish Over SSH和nodejs plugin
安装完成后来全局配置内选择自动安装nodejs然后保存
配置前端服务器的路径
创建一个自由项目
配置gitlab的仓库
选择nodejs构建项目
构建步骤如下这里第一次在前端机器上弄的话必须+npm install
最后进行构建后的操作
然后你的前端目录下就有这个目录了
参数化构建以及脚本
下载插件git parameter
然后和开发去交流让他们去提交代码的时候使用tag提交
git add *
git commit -m "备注"
git tag -a "版本标签" -m "备注"
git tag 查看标签
git push origin 标签名字
这里就有标签构建了这里也可以进行版本的回退
前端脚本
#/bin/bash
#将旧版本的iot-admin以时间结尾备份
mv /home/project/iot/html/iot-admin /home/project/iot/html/iot-admin-date "+%Y-%m-%d"
#进入到html目录内
cd /home/project/iot/html
#将压缩包解压
tar -xvf iot-admin.tar.gz /home/project/iot/html
#将得到的dist文件修改名称
mv dist ./iot-admin
~
~
~
或者直接执行命令
mv /home/project/iot/html/iot-admin /home/project/iot/html/iot-admin-$(date +%Y-%m-%d)
cd /home/project/iot/html
tar -xvf iot-admin.tar.gz -C /home/project/iot/html
mv dist ./iot-admin