jenkins与git结合,自动部署


一、jenkins是一个持续集成和持续部署的一个工具:

二、原理如下图所示:

jenkin是一个从git拉代码,并且自动build,拷贝到指定的服务器上,并且部署。的一款工具

下面是jenkin创建一个新项目的流程图解



如果要是jenkins从远程拉代码,需要配置ssh key

先在你的本地电脑安装git ,运行git hash

ssh-keygen -t rsa -C "your_account"


可以是你的邮箱,执行完之后,会生成一个公钥和私钥


私钥复制到jenkins


公钥放在你需要git上


然后保存下就可以了。ssh-key就配置好了,这样jenkins就会自动去git上拉代码了


脚本命令:


task:--refresh-dependencies clean build -Penv=dev -x test


#cd /home/app/.jenkins/jobs/customer_service135.97/workspace


#sh ~/gradle-2.14.1/bin/gradle clean build -Penv=dev -x test


TARGET_SERVER1="172.16.134.65"
REMOTE_PATH=/home/app/sxpservice
REMOTE_APP_PATH=/home/app/sxpservice/app


WAR_PATH=.
PROJECT_NAME=merch-front-service
#####
for ip in $TARGET_SERVER1
do
      PID=$(ssh app@$ip "ps auxw | grep $PROJECT_NAME|grep app | grep -v grep | awk '{print \$2}'") 
      if [ "$PID" != '' ]
        then
        echo $PID    
          ssh app@${ip} "kill -9 $PID"
          #ssh app@${ip}  sh ${REMOTE_PATH}/stop.sh#
      fi  
      
      ssh app@${ip} "rm -rf ${REMOTE_APP_PATH}/*"
      scp ./${PROJECT_NAME}/build/libs/* app@${ip}:${REMOTE_APP_PATH}/
      ssh app@${ip} "export LC_ALL=en_US.UTF-8 && locale && source /home/app/.bash_profile && cd ${REMOTE_PATH}/bin && sh start.sh"
done

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值