Linux安装Jenkins

前置条件

  • Java环境:JDK配置
  • 打包构建工具安装(视自己实际情况配置):
  • 后端:Gradle
  • 后端:Maven
  • 前端:node.js(参考链接

Jenkins下载

下载地址:https://www.jenkins.io/download/这里是通过war包直接运行,下载最新版本即可

jenkins console output很慢_服务器

运行

这里用xftp通过Sftp连接远程将下载好的jenkins.war包放在linux的某个文件夹下面
我是在 /usr/local 下新建一个jenkins 文件夹存放jenkins.war
下面使用nohup命令方式启动war包,在后台运行,日志重定向打在run.log 文件里面,&是后台运行的意思

后台运行Jenkins

# nohup英文全称 no hang up(不挂起),用于在系统后台不挂断地运行命令,退出终端不会影响程序的运行。
# 2>&1 解释:将标准错误 2 重定向到标准输出 &1 ,标准输出 &1 再被重定向输入到 run.log 文件中。
# & 让命令在后台执行,终端退出后命令仍旧执行。
nohup java -jar jenkins.war  > run.log 2>&1 &

查看Jenkins初始密码填入下框

cat /var/lib/jenkins/secrets/initialAdminPassword
输入服务器IP地址访问端口8080进入以下界面

(注意检查服务器防火墙是否开放了8080端口,如果访问不到去开启防火墙的8080端口试试)

jenkins console output很慢_java_02

选择安装推荐的插件

jenkins console output很慢_vue.js_03

其他常用的插件,在项目部署时会用到的

jenkins console output很慢_java_04


jenkins console output很慢_jar_05


jenkins console output很慢_服务器_06


jenkins console output很慢_jenkins_07

全局工具配置(路径:Dashboart->系统管理->全局工具配置)

1.Maven

jenkins console output很慢_服务器_08

2.Java JDK

在linux可以在 ‘/etc/profile’ 文件查看JAVA_HOME

jenkins console output很慢_jar_09


jenkins console output很慢_vue.js_10

3.Git

jenkins console output很慢_jar_11

Gradle

jenkins console output很慢_jar_12

Node

jenkins console output很慢_java_13

第一个Java项目

新建Item

选择自由风格->确定

jenkins console output很慢_服务器_14

General

  • 描述:填写你这个项目的用途
  • 勾选参数化构建过程->Git参数(这里要安装 Git Parameter Plug-In 插件才会有这个选项)

jenkins console output很慢_服务器_15


jenkins console output很慢_服务器_16


得到的效果是这样的:

jenkins console output很慢_jar_17


General可以根据自己的习惯添加参数化构建过程,本文用的是git branch,设置完这些就可以了

源码管理

jenkins console output很慢_java_18

构建触发器

这里我后面用的是脚本,身份验证令牌随便填的

jenkins console output很慢_vue.js_19

构建环境

没什么要选的,保持原样即可

构建

  • 这里我用的是Gradle7.4.2:在你的目标服务器需要安装gradle,并且在全局工具配置,这里就可以直接选你配置的那个版本

jenkins console output很慢_jar_20


jenkins console output很慢_jenkins_21

构建后操作

在这里有一个需要注意的地方,当目标部署服务器配置了远程文件夹时,当前SSH Publishers设置的远程文件夹是用服务器的加上当前配置的地址

比如:SSH Server配置了远程文件夹是P0,当前构建后操作下的远程文件夹是P1,那么部署到远程的文件夹就是P0+P1

jenkins console output很慢_vue.js_22

# 进入远程需要执行的脚本的目录
cd /home/user/server/scripts
# 停止正在运行的服务
./stop.sh
# 启动服务
./start.sh

.stop.sh

#!/bin/bash
echo "Stop Procedure : Tms-0.0.1-SNAPSHOT.jar"
pid=`ps -ef |grep java|grep Tms-0.0.1-SNAPSHOT.jar|awk '{print $2}'`
echo 'old Procedure pid:'$pid
if [ -n "$pid" ]
then
kill -9 $pid
fi

.start.sh

#!/bin/bash
#export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.13.0.8-4.el8_5.x86_64/bin/java
#echo ${JAVA_HOME}
echo 'Start the program : Tms-0.0.1-SNAPSHOT.jar'
chmod 777 /home/user/server
echo '-------Starting-------'
cd /home/user/server
chmod +x Tms-0.0.1-SNAPSHOT.jar
chmod +x /usr/lib/jvm/java-11-openjdk-11.0.13.0.8-4.el8_5.x86_64/bin/java
nohup java -jar Tms-0.0.1-SNAPSHOT.jar --spring.profiles.active=prod > run.log 2>&1 &
echo 'start success'

Build with Parameters:启动项目

成功完结,撒花!

jenkins console output很慢_vue.js_23

第一个Vue项目

项目初始化

  • 同上面Java项目新建完Item之后的构建环境步骤开始,前面都一样

构建环境

jenkins console output很慢_vue.js_24


jenkins console output很慢_vue.js_25

构建

jenkins console output很慢_服务器_26

#!/bin/bash
#下载工作区npm包
node -v
npm -version
#给npm命令赋予root命令执行权(不然会报没有权限的错误,npm会用一个默认的没权限nobody用户去执行)
npm install --unsafe-perm=true --allow-root
#删除dist目录下的所有文件,dist目录即为当前jenkins工作区打包后的文件。
rm -rf ./dist/*
#执行打包命令
npm run build
#删除服务器上/root/ghyExploit/vue/saltpan/目录下的所有文件/root/ghyExploit/vue/saltpan/ 为服务器项目放置位置
rm -rf /home/user/server/dist/*
#把当前构建工作区dist目录里的文件 copy 到服务器/root/ghyExploit/vue/saltpan 文件夹下
cp -rf ./dist/* /home/user/server/dist/

启动项目

完结撒花!

jenkins console output很慢_vue.js_27