常见的两种通过git实现代码自动部署方法

您所在的位置:网站首页 git自动化脚本 常见的两种通过git实现代码自动部署方法

常见的两种通过git实现代码自动部署方法

2023-06-29 09:07| 来源: 网络整理| 查看: 265

随着应用集群部署需求和devops的发展,对代码自动部署的需求也越来越多。我们这里把代码自动部署简化为这样一个常见:开发机提交代码后,应用服务器上自动获取代码并更新。在网上有两种解决办法。一种是git hook,一种是github/gitee的webhook。

1git hook

1在应用服务器上建立一个代码裸仓库,并将此仓库设为开发机和应用服务器代码仓库的远程仓库。在裸仓库中设置自动部署的脚本即可。 在应用服务器初始化一个远程 Git 裸仓库 git init 和 git --bare init 初始化出来的仓库是完全不一样的。 这里我们要通过 git --bare init 初始化一个远程仓库

$ cd ~ $ mkdir testRepo $ cd testRepo $ git --bare init

在应用服务器初始化一个本地 Git 仓库 这个仓库就是通过 git init 初始化出来最常见的本地仓库,它的作用是拉去远程仓库(其实就在它旁边)最新的源码。

$ cd ~ $ mkdir testDeploy $ cd testDeploy $ git clone ~/testRepo #从隔壁的远程仓库 clone 出源码

为远程仓库设置 Hook

$ cd ~/testRepo/hooks $ vim post-receive

post-receive 里面的执行脚本

#!/bin/sh unset GIT_DIR DeployPath=/home/user/testDeploy cd $DeployPath git pull origin master

最后,为 post-receive 添加可执行权限 chmod +x post-receive 为本地仓库添加remote源 这次的本地仓库就真的是你开发机上面的本地了。在你原有 Git 项目里面添加一条新的 remote 源,以后往这个 remote 源里面 push 代码就会自动触发上面那 bash 脚本了。

$ git remote add deploy [email protected]:/home/user/testRepo $ git push deploy master 2github webhook

在远程代码仓库,如github/码云中,设置webhook。在webhook被触发后,会发送一个http请求到web应用,可以在web应用中,设置自动部署的脚本。 配置webhook

55.png 应用代码自动pull

56.png



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3