星辰儿啊 2024-04-01 18:03 采纳率: 43.1%
浏览 4
已结题

关于服务器代码更新的问题

开发语言:python
代码管理仓库:gitee
服务器:阿里云服务器,centos7.9操作系统

问题:
我现在本地和gitee仓库都弄好了,
然后怎么讲仓库里面的代码推送到:服务器上面呢,
请帮我多推荐几种方法,然后说明一下:推送快捷性、安全性这些
谢谢。

  • 写回答

2条回答 默认 最新

  • 码农阿豪@新空间代码工作室 Java领域优质创作者 2024-04-01 18:03
    关注
    让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如果还有疑问可以评论或留言
    回答: 一、使用git命令 1.在服务器上安装git 在服务器中执行以下命令: sudo yum install git 2.在服务器中创建一个目录用于存储项目 在服务器中创建一个文件夹,作为项目的存储目录,例如: sudo mkdir /var/www/myproject 3.在服务器中使用git clone命令从gitee克隆仓库 在服务器中使用git clone命令从gitee服务器检出仓库: sudo git clone https://gitee.com/yourname/yourrepo.git /var/www/myproject 此命令将克隆代码到/var/www/myproject目录。 4.在本地电脑中将代码更改推送到gitee仓库 在本地电脑中使用git命令将代码更改推送到gitee仓库: git add . git commit -m "commit message" git push 5.在服务器中使用git pull命令将更改应用到生产 在服务器中使用git pull命令将最新更改从gitee仓库应用到生产环境: sudo git pull https://gitee.com/yourname/yourrepo.git /var/www/myproject 此命令将从gitee仓库下载最新代码并将其应用到/var/www/myproject目录。 优点:传输快速、简单易用。 缺点:需要手动执行命令,不够自动化。 二、使用webhook自动化部署 1.设置gitee webhook 在gitee仓库设置中,选择Webhook,添加一个新的Webhook,将Payload URL设置为服务器的URL,为确保安全使用`secret`进行验证,例如: https://your.server.com/webhook Secret: xxxxxxx
    1. 在服务器中安装flask框架 在服务器中使用pip安装flask框架: pip install flask 3.在服务器中编写一个flask应用程序 将以下代码保存为app.py,并使用python app.py命令运行应用程序: from flask import Flask, request, abort import subprocess app = Flask(name) @app.route('/webhook', methods=['POST']) def webhook(): data = request.get_json() if request.headers.get('X-Gitee-Event') == 'Push Hook': subprocess.run(['git', '-C', '/var/www/myproject', 'pull']) return 'success' else: abort(400) if name == 'main': app.run(host='0.0.0.0', port=5000) 4.在服务器中启动ngrok客户端。 在服务器中安装ngrok: wget https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-amd64.zip unzip ngrok-stable-linux-amd64.zip ./ngrok authtoken your_auth_token ./ngrok http 5000 5.在gitee仓库中测试webhook 在gitee仓库中进行一次提交,观察Webhook是否成功。 优点:自动化部署、便于管理。 缺点:需安装第三方组件。 三、使用ftp自动化部署 1.在服务器中安装ftp服务器 在服务器中安装ftp服务器:
    sudo yum install vsftpd
    

    2.配置ftp服务器 修改vsftpd.conf文件,将以下配置添加到文件最后。 local_root=/var/www/myproject chroot_local_user=YES allow_writeable_chroot=YES pasv_enable=YES pasv_min_port=40000 pasv_max_port=50000 3.配置ftp账户 添加一个ftp账户,并设置ftp目录为项目目录: sudo useradd -d /var/www/myproject -s /sbin/nologin ftpuser sudo passwd ftpuser 4.在本地电脑中安装FTP工具 在本地电脑中安装ftp工具以上传文件至服务器,例如FileZilla。 5.在本地电脑中设置ftp自动化部署 在本地电脑中创建一个ftp自动化部署脚本,例如: #!/bin/bash HOST=your.server.com USER=ftpuser PASS=your_password DIR=/var/www/myproject cd dist ftp -n $HOST <<END_SCRIPT quote USER $USER quote PASS $PASS cd $DIR binary put * quit END_SCRIPT exit 0 在本地电脑中执行此脚本,即可自动上传文件至服务器。 优点:自动化部署、简单易用。 缺点:FTP协议安全性相对较差。 总结: 不同的方式适用于不同的场景,一般来说,如果你需要快速地将代码推送到服务器并应用到生产环境,使用git命令是一个不错的选择。如果你需要自动化部署并具有更好的安全性,你可以尝试使用webhook或ftp自动化部署方式。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 4月15日
  • 已采纳回答 4月7日
  • 创建了问题 4月1日

悬赏问题

  • ¥15 远程访问linux主机超时
  • ¥15 odoo17存货管理优势于中国国内该行业传统ERP或MES的详细解读和举例
  • ¥15 CPU卡指令整合指令数据都在图片上
  • ¥15 火车票关联12306问题
  • ¥15 odoo17处理受托加工产品
  • ¥15 如何用MATLAB编码图三的积分
  • ¥15 圆孔衍射光强随孔径变化
  • ¥15 MacBook pro m3max上用vscode运行c语言没有反应
  • ¥15 ESP-PROG配置错误,ALL ONES
  • ¥15 结构功能耦合指标计算