学海无涯
go,go,go

jenkins和gitlab实现自动发布项目-配置脚本进行发布测试(三)

#在jenkins服务器配置脚本
cat >/server/scripts/j.sh<<'EOF'
#!/bin/bash
export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
dir="/var/lib/jenkins/workspace/test/"
ip=192.168.2.132
web="/web/"
date_time="web_`date +%F-%H-%M-%S`"
#清空代码文件
rm_code(){
          ssh root@$ip "rm -fr ${web}html"
}

#打包jenkins服务器代码文件
tar_code(){
   cd $dir && tar -zcf /tmp/${date_time}.tar.gz ./*
}

#推送代码文件到tmp目录
scp_code(){
   scp /tmp/${date_time}.tar.gz root@${ip}:/tmp/
}

#解压代码文件到html目录并创建软连接
linke_code (){
   ssh root@$ip "mkdir -p ${web}${date_time}"
   ssh root@$ip "tar -xf /tmp/${date_time}.tar.gz -C ${web}${date_time}"
   ssh root@$ip "cd $web && ln -s ${web}${date_time} ${web}html"
}
#调用函数
main (){
rm_code
tar_code
scp_code
linke_code
}
#执行函数
main
EOF

#测试脚本
sh -x /server/scripts/j.sh
#在lnmp测试环境检查
[root@centos7 web]# ls
html  web_2019-08-30-22-28-05  web_2019-08-30-22-28-45  web_2019-08-30-22-28-53  web_2019-08-30-22-30-43  web_2019-08-30-22-32-10

脚本执行优化ssh
sed -i 's@#UseDNS yes@UseDNS no@g' /etc/ssh/sshd_config
systemctl restart sshd.service

在gitlab拿到项目的git地址

配置jenkins自动发布项目

进行发布测试

赞(0) 打赏
未经允许不得转载:YYQ运维技术博客_运维的工作学习之路 » jenkins和gitlab实现自动发布项目-配置脚本进行发布测试(三)
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

运维devops

联系我们关于本博客

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏