jenkins总结

我的理解是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-keygen 在当前目录生成公私钥

公钥应该会自动传送到/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可以

 

当然如果安装后就算了

jenkins 经验总结 

在分别 source File 这个jenkins 服务器 默认 的目录

 /home/jenkins/workspace/CMS-测试/gw-vms-audit

所以 我们写 target/*.jar 因为 target就是下级目录啊  所以可以匹配到

而这个remove prefix 去掉 前缀 去掉这个 target 否则传到linux上的时候会把 target目录传过去

而这个remote directory  是linux远程目录 既可以写相对路径 也可以写绝对路径 这个相对路径 是我当前目录 由于 运维我这个账号

所以我的当前目录是 /home/liyanan

提前准备好restart.sh

#!/bin/bash
NAME=hnradio-vms-audit
#因为我当前目录是/home/liyanan 所以需要进入
cd $NAME
echo $NAME
ID=`ps -ef | grep "$NAME" | grep -v grep | grep -v restart.sh | awk '{print $2}'`
echo $ID
kill  $ID
while true
do
ID=`ps -ef | grep "$NAME" | grep -v grep | grep -v restart.sh | awk '{print $2}'`
if [ -z $ID ]
then
    echo  "serve have killed"
    break
fi
done
#>nohup.out 2>&1 如果不加的话本来就会有这个文件 但是jenkins执行 的时候 他会把执行log打印到jenkins控制台 导致 jenkins的脚本 一直退出不了 也可以>dev/null 2>&1 这样就什么也不输出了 连nohop.out这个文件也没有
nohup java  -Denv=DEV -Ddev_meta=http://172.20.5.103:8080 -Dapollo.cacheDir=cache -Dapollo.cluster=DEFAULT -Dserver.port=55111 -jar -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=256m -Xms1024m -Xmx1024m -Xmn256m hnradio-vms-audit.jar >nohup.out 2>&1 &
ID=`ps -ef | grep "$NAME" | grep -v "grep" | grep -v restart.sh|awk '{print $2}'`
if [ -z $ID ]
then
    echo -e "start failed"
else
    echo -e "start success"
fi

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值