当前位置: 首页 > wzjs >正文

济南制作网站软件vvic网站一起做网店

济南制作网站软件,vvic网站一起做网店,wordpress 自定义模型,网站建设三大部分将网站一键部署到服务器的方案很多,比如纯Shell脚本结合SSH、Jenkins等工具。本文将介绍如何利用GitHub Actions这一免费且轻量的CI/CD工具,实现代码推送后自动部署到云服务器。 之前一直在使用github的工作流,确实是一个比较好用的工具。 我…
将网站一键部署到服务器的方案很多,比如纯Shell脚本结合SSH、Jenkins等工具。本文将介绍如何利用GitHub Actions这一免费且轻量的CI/CD工具,实现代码推送后自动部署到云服务器。

image-20250314144041545

之前一直在使用github的工作流,确实是一个比较好用的工具。

我之前用来构建公开静态文件仓库,让vercel来管理静态网站,这次我把所有的服务都迁移到了云服务器,所以所有的部署都需要重新调整一下。

还是老样子,先介绍一下我的场景和配置。

前置条件

  • 项目类型: 静态网站(示例使用Hexo)

  • 服务器环境: Linux系统(示例为Ubuntu)

服务器配置

1. 创建专用部署用户
# 创建新用户
sudo adduser git --disabled-password
​
# 切换到该用户
sudo su - git
​
# 创建.ssh目录
mkdir -p ~/.ssh && chmod 700 ~/.ssh
2. 生成 SSH 密钥对
# 在服务器生成密钥(也可本地生成后传公钥)
sudo ssh-keygen -t ed25519 -C "github-actions-deploy-key" -f ~/.ssh/github_actions
3. 配置授权公钥
# 将公钥加入授权列表
sudo sh -c 'cat /home/git/.ssh/github_actions.pub >> /home/git/.ssh/authorized_keys'
​
# 设置权限
sudo chmod 600 ~/.ssh/authorized_keys
sudo chmod 644 ~/.ssh/github_actions.pub
4. 目标目录权限
# 假设部署目录为 /var/www/blog
sudo mkdir -p /var/www/blog
sudo chown -R deployer:deployer /var/www/blog
5.获取private key
sudo cat ~/.ssh/github_actions

正常情况会返回这样的文本:

-----BEGIN OPENSSH PRIVATE KEY-----
-----END OPENSSH PRIVATE KEY-----
6.调整ssh配置
/etc/ssh/sshd_config
# 启用密钥认证
PubkeyAuthentication yes      
# 禁用密码登录
PasswordAuthentication no      
# 允许部署用户
AllowUsers deployer            
sudo systemctl restart ssh
如果遇到权限问题
# 切换到root再执行
chmod 700 ~git/.ssh
chmod 600 ~git/.ssh/authorized_keys
chown -R git:git ~git/.ssh
​
# 最后的路径调整成静态文件路径
sudo chown -R git:git /www/wwwroot
​
sudo setfacl -R -m u:git:rwx /www/wwwroot
sudo setfacl -Rd -m u:git:rwx /www/wwwroot

Github仓库配置

1. 添加仓库密钥

  1. 访问仓库 Settings > Secrets > Actions

  2. 点击 New repository secret

  3. 输入名称 SERVER_SSH_KEY,值粘贴前文获取的私钥内容

2. 配置工作流文件

创建 .github/workflows/deploy.yml 内容如下:

name: Deploy Blog  # 工作流名称,显示在Actions面板on: [push]  # 触发条件:任何git push操作jobs:build:   # 任务ID,可自定义runs-on: ubuntu-latest  # 使用GitHub托管的Ubuntu运行器steps:- name: Checkout code  # 步骤1:拉取仓库代码uses: actions/checkout@v4  # 官方检出插件- name: Install and Build  # 步骤2:安装依赖并构建run: |                   # 多行命令执行器npm installnpm run build- name: Deploy to Server  # 步骤3:部署到服务器uses: easingthemes/ssh-deploy@main  # 第三方SSH部署插件env:SSH_PRIVATE_KEY: ${{ secrets.SERVER_SSH_KEY }}  # 从仓库密钥读取私钥REMOTE_HOST: ""  # 服务器公网IP或域名REMOTE_USER: "git"  # 步骤1创建的用户SOURCE: "public/"  # 本地构建输出目录TARGET: "/www/wwwroot/guoshunfa.com"  # 服务器目标目录ARGS: "-avz --chown=git:git"  # rsync参数:归档模式/压缩/删除多余文件

到这所有的配置就结束了。

验证效果

  1. 本地修改后执行Git推送:

    git add .
    git commit -m "触发自动部署"
    git push origin main
  2. 登录GitHub仓库,进入 Actions 标签页查看执行状态

  3. 成功完成后,访问服务器目标目录确认文件更新

http://www.dtcms.com/wzjs/569004.html

相关文章:

  • 装修公司做网站热门关键词七牛云如何做网站缓存
  • WordPress博客主题免费seo是什么部位
  • 网站设计O2O平台湖南建设网站官网
  • 《30天网站建设实录》深圳手机网站制作价钱
  • soho没有注册公司 能建一个外贸网站吗小米商城网站开发文档
  • 做家具的企业网站网站建设专家
  • 政务网站建设工作计划结尾公司做自己的网站
  • wordpress和站点dw网站模板下载地址
  • 工业设计网站官网徐州最大的广告公司
  • 营销网站建设哪里便宜番禺区住房和建设局网站
  • 网上服装商城网站建设方案策划可信网站验证价格
  • 库存网站建设公司百度指数爬虫
  • 网站模板安卓网站服务器价格
  • 网站怎么做评论装修公司网站源代码
  • 台州建设银行官方网站wordpress中文广告插件下载
  • 如何修改wordpress站英语网站建设公司
  • 鞍山网站建设公司企业核名网站
  • 外贸开发网站建设wordpress快速仿站教程
  • 企业如何应用网站的网络投票怎么做
  • 设计专业干货推荐网站最简单的网站系统
  • 自己办网站wordpress作者专栏背景怎么改
  • 寻花问柳专注做一家男人最爱的网站中核二三建设有限公司
  • 想在网站上放百度广告怎么做金华做网站公司
  • 门窗网站免费模板如何把自己的网站推广
  • 网站的建设费计入什么科目凡科建设网站如何
  • 厦门网站开发公司哪家好无锡网站制作的公司
  • 建网站挣钱地图标注收费属于违法行为吗
  • 大连网站建设 青鸟传媒山西建设厅网站首页
  • 织梦cms做网站南宁网站推广排名
  • 微信卖水果链接网站怎么做五大建设的内容