Linux(Centos)部署Jenkins,并配置Git生成Jar包进行发布部署
需要先安装jdk、maven、git环境
jdk安装:https://www.cnblogs.com/pxblog/p/10512886.html
maven安装:https://www.cnblogs.com/pxblog/p/13447980.html
git安装:https://www.cnblogs.com/pxblog/p/13447606.html
下载安装包
官网地址:https://www.jenkins.io/download/
也可以
https://yvioo.lanzous.com/iZx8Zfcsoti
下载后上传到服务器上,直接在文件夹底下运行
nohup java -jar jenkins.war --httpPort=9090 &
--httpPort 是指定端口启动 默认是8080端口
nohup 是后台运行
也可以
放到tomcat下的webapps里面,然后启动tomcat,如果是这种方式的话,要在conf/server.xml上配置 URIEncoding=“UTF-8” 保证编码格式
然后启动tomcat服务即可
然后浏览器打开,访问 服务器IP:设置的端口
打开之后等待一会就会进入这个界面
然后执行,查看密码
cat /root/.jenkins/secrets/initialAdminPassword
将打印出来的密码输入进去,点击继续
这里我们选择 “安装推荐的插件”即可,然后会进入下面这个页面,这里等待进度条走完,安装完所有依赖即可
安装完成后,这里可以创建,也可以使用默认的admin ,密码就是我们之前找到 这个下 /root/.jenkins/secrets/initialAdminPassword 密钥
点击保存并完成即可
接着进行Jenkins的配置,点击系统管理-全局工具配置
也可以用下面这个方式配置,登录用户允许操作 账号就是 admin 密码就是 一开始输入的文件里面的那个密钥
然后点击保存,
全局工具配置
配置maven环境 这里我们选择本服务器安装的maven目录下settings文件 这里根据自己的来配置
这里选择本服务器的jdk目录 也是根据自己的来 别名可以自己取
这里配置maven环境 这个下面会用到
Git环境配置
然后点击保存
安装插件
要安装两个插件
Publish Over SSH、SSH
进行系统配置
设置项目部署服务器账号密码
创建一个任务
这里的任务名称可以和项目名称一样
点击确定进行保存
进行任务构建配置
这里进行git代码的用户名密码配置
Repository URL :就是远程仓库的地址
Credentials :这个就是凭证
以及可以在下面指定分支
这一步骤你可以理解为是 Jenkins要从你配置的git地址上把你的代码下载下来
构建里面进行选择
这里选择我们之前在全局配置里面配置的maven信息
然后在目标里面填写
clean compile package
这里就是把你的代码下载下来 然后进行maven打包
也是在构建 下面继续增加
上面这个
SSH site :这个选择上面在全局里面配置的要进行项目部署的所在服务器 (注:以下构建所用的都是这个服务器配置)
Command:这里填写
#!/bin/bash --login if [ ! -d "/data/java/temp/${JOB_NAME}" ];then mkdir -p /data/java/temp/${JOB_NAME} fi
这个的作用是 判断 文件夹是否存在 不存在进行创建
${JOB_NAME} :这个是任务名称的占位符
接着继续增加
scp -r ${WORKSPACE}/target/*.jar root@ip地址:/data/java/temp/${JOB_NAME}/${JOB_NAME}.jar rm -fr ${WORKSPACE}/*
${WORKSPACE}/target/*.jar 这个是生成的jar包路径,如果项目多层级的话,可能不是再根目录下,具体的根据自己的来,可以通过这个工作空间 看自己的jar包生成位置,然后把这个位置替换成自己的即可
这里的ip地址要替换成自己的
${JOB_NAME} :这个是任务名称的占位符
${WORKSPACE} :这个是工作空间
这里的作用是把构建生成的jar包上传到部署的服务器目录上(Jenkins部署的服务器和项目部署的服务器不是同一台的时候使用)
这里使用scp命令 用这个命令正常情况下是要输入密码的 但是这里我们做了配置,所以不需要输入密码
具体可以参考:https://www.cnblogs.com/pxblog/p/14396421.html
接着继续增加
具体脚本
#!/bin/bash --login server_path="/data/java/server/" temp_path="/data/java/temp/${JOB_NAME}" temp_jar="${temp_path}/${JOB_NAME}.jar" #backup if [ ! -d "${server_path}" ];then mkdir -p ${server_path} fi if [ ! -d "${temp_path}" ];then mkdir -p ${temp_path} fi if [ ! -d "${server_path}/logs" ];then mkdir -p ${server_path}/logs fi cd ${server_path} # stop service pid=`ps -ef | grep "${JOB_NAME}" | grep -v "tail" | grep -v "grep" | awk '{print $2}'` if [ "$pid" ];then echo "pid is $pid" kill -9 "$pid" else echo "server already stopped!" fi # start datestr=`date +%Y%m%d` \cp -fr ${temp_path}/*.jar . nohup /usr/java/jdk1.8.0_161/bin/java -jar ${JOB_NAME}.jar >>${server_path}/logs/${JOB_NAME}-${datestr}.log 2>&1 & rm -fr ${temp_path}/*.jar
说明:
server_path: 这个是项目jar包所在路径
temp_path:这个是用来jar包生成的临时文件夹
nohup /usr/java/jdk1.8.0_161/bin/java -jar ${JOB_NAME}.jar >>${server_path}/logs/${JOB_NAME}-${datestr}.log 2>&1 &
这个是nohup启动,注意这里的java所在路径要根据自己的实际的来 其实就是 java -jar 命令
以上就算完成了 所有的构建步骤要按照顺序来
点击这里看控制台输出信息
接着就是配置钩子了
URL地址下面显示是 JENKINS_URL/job/XXXX/build?token=TOKEN_NAME
这里填写JENKINS_TOKEN就是我们上面的TOKEN_NAME
JENKINS_URL这个是我们一开始安装的时候默认填写的Jenkins部署地址
然后拼接成一个完成的URL地址
其实你可以理解为 你访问这个地址就会触发构建操作,你把地址放到浏览器里面访问 也会进行构建操作
gitee平台
Jenkins中下载插件,gitee 插件
然后 在项目配置里面
然后保存
然后gitee平台上
这里的URL地址和WebHook 密码 就和上面的对应 然后每次提交代码到gitee上 都会触发构建