使用git协同开发并实现自动化部署

1 篇文章 0 订阅
1 篇文章 0 订阅

一、创建GIT项目

1.这里使用国内的码云创建项目:码云
2.这里是否开源我们选择私有在这里插入图片描述

二、克隆到本地

请先在本地环境安装好 git 工具,并能正常使用 git 命令


  • 通过git clone https://gitee.com/bignius/demo_project命令克隆项目到本地,这里的 https://gitee.com/bignius/demo_project改成你的仓库地址
    • 如果你已经有现有项目,可克隆到本地后把之前的代码复制到克隆的目录下
      在这里插入图片描述
  • 输入 cd demo_project 进入目录
    在这里插入图片描述
  • 克隆下来后默认是master分支,当前分支为主分支,我们可以把线上发布的配置写到该分支上

三、在master分支编写主要代码

这里我就使用新建文件来演示开发流程


在克隆下来的目录下新建两个文本文件:数据库配置.txt业务逻辑.txt
在这里插入图片描述

  • 编辑数据库配置.txt,输入数据库配置
    在这里插入图片描述
url:192.168.1.101
user:root
pass:123123
  • 编辑业务逻辑.txt,输入业务逻辑
    在这里插入图片描述
小明走了10公里
  • 提交修改
    • 输入git add . 提交所有修改
    • 输入git commit -m "first commit" 提交修改并输入备注first commit
    • 输入git push 推送到 git 服务器
  • 这里我们就已经完成了最基本的推送到git服务器了

四、创建开发分支develop并切换

  • 输入git branch develop创建开发分支
  • 输入git checkout develop切换分支
    在这里插入图片描述
  • 修改数据库配置.txt文件
    在这里插入图片描述
url:192.168.1.102
user:develop
pass:123456
  • 修改业务逻辑.txt文件
    在这里插入图片描述
小明走了10公里
小红也走了10公里

五、提交develop分支修改

- 提交develop分支修改

  • 输入git add . 提交所有修改
  • 输入git commit -m "first commit" 提交修改并输入备注first commit
  • 输入git push --set-upstream origin develop 推送到指定的develop分支下
  • 完成后就推送到develop分支下了

六、一个阶段开发完成,合并分支并解决冲突并提交

  • 输入git checkout master切换回master分支下
  • 输入git merge develop合并分支
  • 这里合并后我们会发现数据库配置文件被修改了,我们需要手动修改回之前的配置(第一次合并我们需要手动修改下,后续合并我们就不用修改了)
    修改回之前的配置

修改完成后我们master分支下的两个文件内容分别是

数据库配置.txt

url:192.168.1.101
user:root
pass:123123

业务逻辑.txt

小明走了10公里
小红也走了10公里
  • 提交此次开发的内容
    输入 git add .提交所有修改
    输入git commit -m "dev merge"提交修改并输入备注"dev merge"
    输入git push 推送到git服务器的master分支下

七、后续合并

由于我们修改了master分支下数据库配置.txt文件,假如后续继续在develop分支下开发新的业务逻辑,开发完成后进行合并develop分支时会出现
冲突,下面我们就来解决这个冲突

  • 我们现在切换到develop分支下进行业务逻辑的修改
    • 输入git checkout develop切换到develop分支
    • 修改业务逻辑.txt文件,添加 小刘今天走了20公里

业务逻辑.txt

小明走了10公里
小红也走了10公里
小刘今天走了20公里
  • 提交此次更改
    输入 git add .提交所有修改
    输入git commit -m "dev two"提交修改并输入备注"dev two"
    输入git push 推送到git服务器的dev分支下
  • 切换回master分支进行合并
    输入git checkout master 切换到master分支下
    输入git merge develop合并分支
    • 如果出现下图,直接按ctrl+x退出即可合并
  • 查看数据库配置.txt文件,发现还是原来我们修改的文件,并没有因为合并而被修改
    至此我们的开发环境和发布环境已经配置完毕了

八、线上自动部署

配置SSH

接下来是我们的重头戏,线上实现自动拉取代码并部署

我们首先要生成一个SSH公匙,这里我直接引用码云官方教程:生成/添加SSH公钥

你可以通过以下命令生成

ssh-keygen -t rsa -C "xxxxx@xxxxx.com"  
# Generating public/private rsa key pair...

按照提示完成三次回车,即可生成 ssh key。通过查看 ~/.ssh/id_rsa.pub 文件内容,获取到你的 public key

cat ~/.ssh/id_rsa.pub
# ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC6eNtGpNGwstc....

在这里插入图片描述

复制生成后的 ssh key,通过仓库主页 「管理」->「部署公钥管理」->「添加部署公钥」 ,添加生成的 public key 添加到仓库中。
在这里插入图片描述

添加后,在终端(Terminal)中输入

ssh -T git@gitee.com

首次使用需要确认并添加主机到本机SSH可信列表。若返回 Hi XXX! You've successfully authenticated, but Gitee.com does not provide shell access. 内容,则证明添加成功。
在这里插入图片描述
添加成功后,就可以使用SSH协议对仓库进行操作了。

拉取代码
  • 进入仓库首页
  • 依次点击克隆/下载-SSH-复制,我的SSH地址是git@gitee.com:bignius/demo_project.git
  • 在服务器打开终端输入git clone git@gitee.com:bignius/demo_project.git即可拉取到您的项目了
配置自动拉取更新的定时任务

这里我使用的是宝塔面板自带的定时任务功能,方便快捷

  • 进入宝塔面板-打开计划任务
    • 任务类型选shell脚本,然后输入名称、选择执行周期、输入脚本内容
      cd /www/wwwroot/apis.xxx.net/&&git checkout . && git pull
    • cd /www/wwwroot/apis.xxx.net进入网站目录
    • git checkou .放弃所有本地更改
    • git pull 拉取仓库数据
      在这里插入图片描述
  • 我这里是设置的1分钟请求一次拉取,也可以根据自己的业务来修改
  • 这句代码的意思就是进入网站目录并执行拉取代码的操作

这里的定时任务你也可以根据自己业务逻辑修改

结语

原 创 不 易 , 希 望 大 家 多 多 支 持 \color{#FF0000}{原创不易,希望大家多多支持}

文章有什么不懂或者错误的地方欢迎评论指出,如果对您有帮助的话请点个关注收藏哦

Thank you very much ~

博主:bigniu
QQ : 201309512
发布日期:2020-5-1 23:44:28
更新日期:2020-5-1 23:44:32

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BigNiu 

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值