jenkin发布代码步骤

本文档详细介绍了如何通过Jenkins的Publish over SSH插件将代码部署到远程服务器,包括生成SSH密钥对、上传公钥、配置Jenkins系统设置以及构建时的shell脚本。涉及关键步骤如rsync同步和权限设置,为自动化部署提供了一套完整的流程。
摘要由CSDN通过智能技术生成

一、配置代码发布的目标服务器
系统管理——系统配置—— Publish over SSH(需要提前安装插件)

准备工作 参考文章https://blog.csdn.net/baobaoclass/article/details/124895229

https://blog.csdn.net/dagebaobao/article/details/102914532

在生成服务器生成秘钥

cd /root/.ssh
ssh-keygen -t rsa

然后把公钥传到代码服务器上

scp id_rsa.pub 127.0.0.1:/tmp

然后再代码服务器上 
 cd /root/.ssh
 cat /tmp/id_rsa.pub >> authorized_keys

还需要把发布环境的服务器的账号密码配置到jenkis

系统管理->Configure System->Publish over SSH
构建后的命令

rsync -avz  root@127.0.0.1:/data/${JOB_NAME}/deploy_target/  /www/wwwroot/
chmod -R 755 /www/wwwroot/${JOB_NAME}

构建步骤的shell脚本

case $status in

  deploy)

    echo "status:$status"

    backup_path="${JENKINS_HOME}/jobs/${JOB_NAME}/builds/${BUILD_NUMBER}/target"

    deploy_path="/data/${JOB_NAME}/deploy_target"

    if [ -d $backup_path ];then

        echo "$backup_path is exists!"

    else
         mkdir  -p $backup_path

    fi

    if [ -d $deploy_path ];then

        echo "$deploy_path is exists!"

    else

         mkdir -p $deploy_path

    fi

    rsync -az ${WORKSPACE} $backup_path/ --delete

rsync -az ${WORKSPACE} $deploy_path/ --delete

echo "deploy done!"

    ;;

  roll_back)

    echo "status:$status"

    echo "build_id:$version"

    backup_path="${JENKINS_HOME}/jobs/${JOB_NAME}/builds/$version/target"

    deploy_path="/data/${JOB_NAME}/deploy_target"

    rm -rf $deploy_path

    cp -r $backup_path $deploy_path/

    echo "roll_back done!"

    ;;

  *)

    exit

    ;;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值