怎么将Github项目部署到服务器上
这篇文章主要介绍“怎么将Github项目部署到服务器上”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么将Github项目部署到服务器上”文章能帮助大家解决问题。
一、登录服务器
使用SSH远程连接,输入命令:
ssh root@your_server_ip
二、安装必要的软件
在服务器上安装Git和Node.js。以Ubuntu系统为例,执行以下命令:
sudo apt-get update
sudo apt-get install git
sudo apt-get install nodejs
三、在服务器上创建一个Git仓库
在服务器上创建一个空的目录,并在其中初始化一个Git仓库,执行以下命令:
mkdir myapp
cd myapp
git init --bare
四、设置Git Hooks
在Git仓库中添加一个post-receive钩子以便自动部署应用程序,执行以下命令:
cd hooks
touch post-receive
sudo chmod +x post-receive
nano post-receive
在打开的文本编辑器中输入以下内容:
#!/bin/bash
git --work-tree=/var/www/html/myapp --git-dir=/root/myapp.git checkout -f
cd /var/www/html/myapp
sudo npm install
该脚本会自动将代码检出到/var/www/html/myapp下,并且执行npm install命令以安装项目依赖。
五、在Github上配置Webhooks
登录Github,在项目的Settings页面中点击Webhooks选项,然后点击Add webhook按钮。在Payload URL中输入服务器的IP地址和post-receive钩子的路径,例如:http://your_server_ip:8000/hooks/post-receive。在Content type中选择application/json,然后点击Add webhook。
六、在本地的代码中添加服务器地址
在本地的代码中修改package.json文件,增加以下内容:
{
"scripts": {
"start": "node app.js",
"deploy": "git push deploy master"
},
"config": {
"deploy": {
"production": {
"user": "root",
"host": "your_server_ip",
"ref": "origin/master",
"repo": "ssh://git@your_server_ip:/root/myapp.git",
"path": "/var/www/html/myapp",
"ssh_options": ["StrictHostKeyChecking=no", "PasswordAuthentication=no"],
"post-deploy": "npm install && pm2 restart app"
}
}
}
}
其中,deploy脚本会将代码推送到服务器上的myapp.git仓库中;config/deploy/production中定义了一些配置项,包括服务器的ip地址、项目的路径、钩子所在的路径等。
七、执行代码部署
在本地的代码目录中执行以下命令:
npm run deploy production
该命令将代码推送到服务器上,触发post-receive钩子,自动将代码部署到/var/www/html/myapp目录下。
八、启动应用程序
进入到/var/www/html/myapp目录中,执行以下命令来启动应用程序:
npm start
应用程序现在应该可以在服务器上运行了!如果应用程序启动失败,则需要检查依赖项是否已正确安装,以及应用程序的配置是否正确。
关于“怎么将Github项目部署到服务器上”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注蜗牛博客行业资讯频道,小编每天都会为大家更新不同的知识点。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:niceseo99@gmail.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
评论