我的理解是jenkis能自动打包发布 如此而已 就是能自动从你的git上 用maven 打包 发送到指定 linux上 然后启动 就这样
我自己是用docker 上面安装了linux虚拟机 又用docker 下载 jenkins/jenkins 这个 镜像 启动
docker run -d -p 8002:8080 -v jenkins:/var/jenkins_home --name jenkins jenkins/jenkins
上面这个 -v 设置个变量 其实就是把把这个jenkins安装到哪里
启动jenkins 之后 会提示输入密码 密码存放在 jenkins_home/secrets/initialAdminPassword
一直点点 安装好就成
检查是否有“Git plugin”和“Publish over SSH”两个插件,如果没有,在“可选插件”中安装。发现“Publish over SSH”没有,安装它
然后接下来需要连接linux 用 ssh-****** 在当前目录生成公私钥
公钥应该会自动传送到/root/.ssh/authorizekeys 然后把这个私钥拿下来 jenkins 系统设置 看最下面这个选项
然后就可以新建个自由风格的项目
构建环境 构建触发器 啥都不写
source file 就是maven打包后 这整个项目 我想只发布target目录下的jar到服务器 上 remote Directoy 就是发布到目标linux的那个目录下 Exec command 就是这个jar包传到 linux 启动脚本
#!/bin/bash
echo 开始启动了
pid=`ps -ef |grep demo | grep -v grep | awk '{print $2}'`
kill -9 $pid
sleep 5
nohup java -jar /tmp/jenkins_test/target/demo-0.0.1-SNAPSHOT.jar >start.log 2>&1 &
#grep -v 反选 忽略掉grep这个进程 awk 切行 后面可以打出第二列的进程号
pid=`ps -ef |grep demo | grep -v grep | awk '{print $2}'`
if [ ! $pid ];then
echo “启动失败”
else
echo “启动成功”the process $pid exist
fi
sleep 5
var=$(cat /root/start.log)
echo $var
maven打包语句 maven就是本机的maven
构建后想发个右键通知啥的
另外如果本机没有安装maven可以
当然如果安装后就算了