Nodejs 相关:大家往vps上上传代码有用git的吗?求助


8 回复

Node.js 相关:大家往VPS上上传代码有用 Git 的吗?求助

大家好,我在使用 Node.js 开发项目时,经常会遇到需要将代码部署到 VPS(虚拟专用服务器)上的情况。我想知道大家是否常用 Git 进行代码上传和管理?如果用 Git,有没有什么推荐的方法或工具?

使用 Git 进行代码上传和部署

使用 Git 可以非常方便地进行代码版本管理和自动化部署。下面是一个简单的步骤指南,以及如何设置自动部署。

步骤 1: 创建 Git 仓库

首先,在本地创建一个 Git 仓库,并将你的 Node.js 项目添加进去:

# 初始化 Git 仓库
git init

# 添加所有文件到仓库
git add .

# 提交更改
git commit -m "Initial commit"
步骤 2: 配置远程仓库

假设你已经在 VPS 上创建了一个 Git 仓库(可以使用 Git 自带的 bare 仓库)。你需要在 VPS 上配置一个 Git 仓库:

ssh user@your_vps_ip
cd /path/to/repo
git init --bare
exit

然后在本地配置远程仓库:

git remote add origin ssh://user@your_vps_ip:/path/to/repo.git
步骤 3: 设置自动部署

为了实现自动部署,你可以利用 Git 钩子(hooks)来触发部署脚本。在 VPS 上编辑 hooks/post-receive 文件:

nano /path/to/repo/hooks/post-receive

添加以下内容:

#!/bin/bash
GIT_WORK_TREE=/path/to/your/nodejs/app git checkout -f
npm install
npm run build
pm2 restart all

保存并退出,然后设置执行权限:

chmod +x /path/to/repo/hooks/post-receive
步骤 4: 推送代码

现在你可以将代码推送到 VPS 上了:

git push origin master

推送后,Git 将会自动运行 post-receive 脚本,从而更新应用、安装依赖、构建和重启服务。

总结

通过上述步骤,你可以利用 Git 实现代码的自动化上传和部署。这种方法不仅提高了开发效率,还保证了代码的一致性和安全性。如果你有其他更好的方法或工具,也欢迎分享!


希望这些信息对你有所帮助!如果有任何问题或需要进一步的指导,请随时留言讨论。


多谢 我去瞧瞧

别听 1L 的。

既然你有 heroku 的使用经验,那么使用 dokku 可以让你的经验复用。

https://www.digitalocean.com/community/articles/how-to-use-the-digitalocean-dokku-application

强大. 不过已经习惯用 Rsync 传了

你上传到git.oschina或github, 然后vps上取下来. 我连vps上的网站都是直接上传git的

当然有用Git上传代码到VPS上的做法。通过Git自动部署是一种常见的方法,可以简化代码更新的过程。下面是具体步骤和示例代码来帮助你设置这种自动部署。

步骤

  1. 在VPS上安装Git

    sudo apt-get update
    sudo apt-get install git
    
  2. 创建一个Git仓库(如果还没有): 假设你的代码存储在GitHub/GitLab等平台上。

  3. 在VPS上创建一个接收Git推送的目录

    mkdir /var/www/myapp
    cd /var/www/myapp
    git init --bare
    
  4. 设置一个post-receive钩子: 编辑/var/www/myapp/hooks/post-receive文件,并添加以下内容:

    #!/bin/bash
    GIT_REPO=/var/www/myapp
    TMP_GIT_CLONE=/tmp/myapp-clone
    CODE_DIR=/var/www/myapp
    
    git clone $GIT_REPO $TMP_GIT_CLONE
    cp -R $TMP_GIT_CLONE/* $CODE_DIR/
    rm -rf $TMP_GIT_CLONE
    

    然后使该脚本可执行:

    chmod +x hooks/post-receive
    
  5. 配置本地Git仓库以推送到远程VPS: 在本地项目中初始化Git仓库(如果还没有):

    cd /path/to/local/project
    git init
    git add .
    git commit -m "Initial commit"
    

    添加远程仓库:

    git remote add vps ssh://your_username[@your_vps_ip](/user/your_vps_ip):/var/www/myapp
    
  6. 推送到VPS

    git push vps master
    

每次当你推送代码时,Git将触发VPS上的post-receive钩子,从而自动更新代码。

示例

假设你有一个简单的Node.js应用位于本地路径/home/user/myapp,你可以通过上面的步骤将其推送到VPS上的/var/www/myapp目录中。

总结

通过上述步骤,你可以使用Git自动部署Node.js应用到VPS上。这种方法不仅提高了代码更新的效率,还增强了版本管理的便利性。

回到顶部