Git 本地项目自动化部署到服务器

问题描述


1、通过 《 Git 从本地开发到部署上线流程_Windows版》,我们知道了如果使用 Git 实现从线下到线上库的过程。

2、接下来我们来讲解如何 本地->库->服务器,的自动化部署过程

3、帮助:Git基础命令

解决方案


1、查看 服务器 是否生成公钥,没有生成就生成一下公钥【这个公钥只要用于在服务器 root  用户上,拉取仓库项目的】

cat /root/.ssh/id_rsa #查看是否生成
ssh-keygen -t rsa -C "your@email.com" #生成公钥

2、通过公钥在网站目录 www/wwwroot/web,【自己网站所在的根目录】 拉取项目。或者跳过--->红字必须看

cd /www/wwwroot/web

sudo -Hu www git@code.aliyun.com:xxx/xxx.git . # 最后的 ".",表示在当前目录下拉取,不再新建目录

!!注意,这里初始化clone必须要用www用户,这时候确定服务器www用户下所有git的功能都能使用

注意:这里比较重要的是权限问题

www ---- 网站的用户,可以通过命令ps -ef | grep nginx,进行查看用户。

1、上述生成的 公钥 是 服务器 root 用户的。可以用来进行第一次拉取。拉取之后的文件权限是root的。可以自己手动改成 www 

2、查看一下步骤:

通过 命令 查看 www 用户所在的文件夹,假如路径为:/home/www/

vim /etc/passwd

运行一下命令,为 www 生成一个专用的公钥,这个公钥会放在,home/www/ 下

sudo -Hu www ssh-keygen -t rsa

查看公钥,并且在库里面新增公钥

cat /home/www/.ssh/id_rsa.pub # 服务器 www 用户公钥

在本地执行 git push 操作的时候,就会通过钩子触犯 webhook.php 文件,从而使服务器执行 git pull操作,最后送上成功的 log 截图

1、通过 《 Git 从本地开发到部署上线流程_Windows版 》,我们知道了如果使用 Git 实现从线下到线上库的过程。 2、接下来我们来讲解如何 本地-库-服务器,的自动化部署过程

3、这里以php 为例子

     新建一个 webhooks.php 文件在根目录,用来执行拉取项目命令的即可。代码如下:webhook.php


4、以阿里云的 Code 为例。

添加一个 WebHooks,链接填上 http://www.xx.com/webhooks.php?token=token,在推送的时候触发就可以了。

代码如下:

image.png

做到这一步,发现网上各种各样的方法。简直是眼花缭乱。都分不清是要建立Git 库,还是 服务器上面又做库,又做网站了。

这里讲解一下最简单的做法

流程很简单就是。当我本地推送 git push代码到 远程仓库的时候,仓库去访问到我们的网站下面的钩子进行拉取动作

5、注意权限,要看清楚当前网站的用户是谁。然后分配git 使用权限给对应用户。


Git基础命令

git init                     #在现有目录中初始化仓库:

git clone [https/ssl/url]            #克隆仓库/拉取线上库代码到本地

git status #查看哪些文件修改了

git add [name]                 #添加文件到暂存区,全部[--all]

git commit [name] -m [comment]        #提交文件到线上库前,先备注信息,[name]为单个文件,全部可不填

git pull [remote-name]                #远程仓库拉取文件

git push [origin] [master]           #推送到远程仓库


文章来源地址https://www.toymoban.com/diary/apps/49.html

到此这篇关于Git 本地项目自动化部署到服务器的文章就介绍到这了,更多相关内容可以在右上角搜索或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

原文地址:https://www.toymoban.com/diary/apps/49.html

如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请联系站长进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用
未经允许不得转载:Toy模板网 » Git 本地项目自动化部署到服务器
上一篇 2023年08月19日 16:43
下一篇 2023年08月19日 16:43

相关文章

  • Centos7.9宝塔搭建Hexo博客,实现本地一键自动化部署到服务器

    有问题可以留言相互讨论 ,我的hexo博客地址,请勿频繁访问或者攻击,仅供学习和参考。 用于存放下载的git包 会显示一堆.o类型的文件,表示正在从源码编译。 未显示错误直接跳到“ 安装 ”步骤 如果出现错误collect2: error: ld returned 1 exit status. 原因是gcc版本较低所致,与所

    2024年02月06日
    浏览(51)
  • 云服务器使用jenkins+docker自动化部署SpringBoot项目

    docker 安装jenkins,就这一步都恶心死了 //拉取镜像,踩了很多坑,用其它版本的镜像插件一直安装失败,最后用的是lts版本(基础版) 用其它版本要么是连不上插件的下载地址,要么是插件下载不成功  docker pull jenkins/jenkins:lts  部署 docker run --user root -d -p 10240:8080 -p 10241:50

    2024年02月01日
    浏览(52)
  • 内网搭建Jenkins自动化远程部署项目到Windows服务器

    War Jenkins Packages 不赘述 一个小诀窍;去有外网的PC上面,部署Jenkins正常搜索插件安装,然后找到安装目录,有个.Jenkins的文件夹,里面有个plug的文件夹,这个就是我们所需所有插件,然后把它拷贝到内网中。  捷径(Jenkins2.346.1版本所需插件):https://download.csdn.net/download/b

    2024年02月17日
    浏览(42)
  • 【Linux】云服务器自动化部署VuePress博客(Jenkins)

    博主此前是将博客部署在 Github Pages (基于 Github Action)和 Vercel 上的,但是这两种部署方式对于国内用户很不友好,访问速度堪忧。因此将博客迁移到自己的云服务器上,并且基于 Jenkins (一款开源持续集成工具)实现本地推送代码后,自动化集成部署 环境 云服务器:Cent

    2024年02月13日
    浏览(47)
  • 华为openEuler在服务器自动化部署中的应用案例

    案例背景:         随着云计算和大数据技术的不断发展,服务器部署的效率和稳定性成为企业关注的焦点。华为 openEuler 作为一款开源的Linux发行版,提供了丰富的软件包管理和系统优化功能,非常适合用于构建高效稳定的服务器环境。 环境准备: 选择适配openEuler的服

    2024年02月19日
    浏览(43)
  • 详解git自动化部署WebHook

    前言:记录自己使用WebHook实现自动化部署项目 个人博客 已更新该文章— 详解git自动化部署WebHook WebHook 功能是帮助用户 push 代码后,自动回调一个设定的 http 地址。 简单来说 就是 监听 执行git操作后向指定 http 地址 发送一个请求。 同时 WebHook 是一个通用的解决方案,可以

    2024年02月15日
    浏览(46)
  • 前端项目自动化部署

    一、Git仓库管理项目 二、购买云服务器 三、搭建服务器环境(重点) 四、Jenkins进行自动化部署(重点) 提示:本地项目自动化部署流程,如下图 一、Git仓库管理项目 Git的安装和配置在这里就不做说明了 1、首先在Git仓库中创建一个仓库,用来保存本地项目,这里使用Git

    2024年02月15日
    浏览(46)
  • Jenkins自动化部署项目

    https://www.jenkins.io/ https://blog.csdn.net/qq_41581588/article/details/128687402 https://blog.csdn.net/zhishidi/article/details/118082509 https://blog.csdn.net/Sojou/article/details/125935262 使用心得

    2024年02月05日
    浏览(40)
  • 【git】2、gitlab CICD 模型部署自动化

    GitLab 是一个用于仓库管理系统的开源项目,使用 Git 作为代码管理工具,并在此基础上搭建起来的 Web 服务。 安装方法是参考 GitLab 在 GitHub 上的 Wiki 页面。Gitlab 是被广泛使用的基于 git 的开源代码管理平台, 基于 Ruby on Rails 构建, 主要针对软件开发过程中产生的代码和文档进

    2024年02月04日
    浏览(53)
  • Linux Spug自动化运维平台本地部署与公网远程访问

    Spug 面向中小型企业设计的轻量级无 Agent 的自动化运维平台,整合了主机管理、主机批量执行、主机在线终端、文件在线上传下载、应用发布部署、在线任务计划、配置中心、监控、报警等一系列功能。 本例演示搭建使用docker compose 方式安装Spug,并结合cpolar 内网穿透实现远程

    2024年02月05日
    浏览(42)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包