jenkins 部署各种坑

jenkins 项目部署

我这里用的是阿里云的git。

阿里云git

创建一个maven项目

这个就不用说了!!!

配置SSH公钥 / HTTPS密码

SSH公钥配置:
在git 项目中添加服务器公钥

在这里插入图片描述

jenkis 配置

构建maven项目

源码管理

我是用的ssh地址。必须需要配置公钥和私钥。来拉取创库代码
在这里插入图片描述

jenkins 添加凭证的时候,我用的是ssh 地址, 是要用ssh 密钥的方式来拉取代码
在这里插入图片描述
id:随便写一个名称,作为标识
usemame:写你生成密钥的用户名
private key:从你服务器里面复制到jenkins上面

配置构建触发器

在这里插入图片描述
触发器建议使用这2种
1.定时构建
定时构建就是没隔一段时间就是构建1次任务
0 * * * * 代表每小时0分的时候构建1次项目
第1个代表分,第2个代表时,第3个代表日,第4个代表月,第5个代表周
2.轮询SCM
轮询SCM就是查看源码管理的代码有没有更新,如果更新了就去构建,没有更新就不会构建
*/5 * * * * 代表每5分钟就去查看源码有没有更新

构建设置 (邮件通知)

邮件通知
在这里插入图片描述
Recipients:收件人

  • Send e-mail for every unstable build:为每个不稳定的构建发送电子邮件
  • Send separate-mails to individuals who broke the build:分别向破坏构建的个人发送电子邮件
  • Sende-mail for each failed module:为每个失败的模块发送电子邮件
构建后操作(远程服务器配置)

在这里插入图片描述

name:是一个参照,就是你在系统设置里面添加的所发布服务器。
Source files: 项目构建后的目录
Remove prefix : 去前缀
Remote directoty: 发布的目录
Exec command: 发布完执行的命令,我这边写了个sh脚本,来执行启动jar包

系统配置-全局工具配置

maven配置(不推荐自动安装)

这里配置的是jenkins 服务器的maven路径
在这里插入图片描述

git配置 (不推荐自动安装)

这里同样也要指定git路径 在这里插入图片描述

jdk配置(不推荐自动安装)

在这里插入图片描述

配置连接远程服务器的ssh

去系统设置里配置Publish over SSH
在这里插入图片描述
Passphrase 服务器的密码
Path to key 连接远程服务器密钥文件的路径
Key 密钥文件的内容
Name 自定义服务器名,注:(发布指定服务器的时候)这个服务器名会在项目配置里面,构建后操作ssh server 里面参照的
HostName 服务器IP外网地址
UserName 服务器用户名
Remote Directory 传输文件的目录
在这里插入图片描述

最后点test configuration 测试配置连接
如果success 就配置成功

执行shell配置

我这边是根据不同的项目发布到不同的环境
在项目发布的环境编写一个 sh脚本

在这里插入图片描述
内容如下:

#!/bin/bash  
#name:jar包启动脚本;  
#此处修改脚本名称:
APP_NAME=kweb-api-1.0-SNAPSHOT.jar
#脚本菜单项
usage() {
echo "Usage: sh 脚本名.sh [start|stop|restart|status]"
exit 1
}

is_exist(){
pid=`ps -ef|grep $APP_NAME|grep -v grep|awk '{print $2}' `
#如果不存在返回1,存在返回0
if [ -z "${pid}" ]; then
return 1
else
return 0
fi
}
#启动脚本
start(){
is_exist
if [ $? -eq "0" ]; then
echo "${APP_NAME} is already running. pid=${pid} ."
else
#此处注意修改jar和log文件文件位置:
nohup java -jar /home/clkt/KeAndScExtract/$APP_NAME > bootdolog.file   2>&1 &
#此处打印log日志:
tail -f /home/clkt/KeAndScExtract/bootdolog.file
fi
}
#停止脚本
stop(){
is_exist
if [ $? -eq "0" ]; then
kill -9 $pid
else
echo "${APP_NAME} is not running"
fi
}
#显示当前jar运行状态
status(){
is_exist
if [ $? -eq "0" ]; then
echo "${APP_NAME} is running. Pid is ${pid}"
else
echo "${APP_NAME} is NOT running."
fi
}
#重启脚本
restart(){
stop
start
}

case "$1" in
"start")
start
;;
"stop")
stop
;;
"status")
status
;;
"restart")
restart
;;
*)
usage
;;
esac

脚本启动
sh 脚本名.sh 【脚本命令】
比如:
sh socdev.sh start 启动

jenkins中没有maven项目

在这里插入图片描述

点击“可选插件” 然后在右边的过滤输入框中输入搜索关键字: Maven Integration Plugin 或者 Pipeline Maven Integration Plugin ,搜索到了以后,点击直接安装,
安装完成后重启就好了。

关注博主动态

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

乔-治

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值