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

郑州专业网站推广优化公司郑州seo线上推广技术

郑州专业网站推广优化公司,郑州seo线上推广技术,网站风险怎么解决方案,王也说过的经典语录🚀 GitHub Actions SSH 自动部署教程 你有自己的服务(博客网站等)在跑吗?部署个Jenkins比手动上线还麻烦?你想实现push代码后自动部署上线服务? 本文档将指导你如何配置 GitHub Actions SSH 实现自动部…

🚀 GitHub Actions + SSH 自动部署教程

你有自己的服务(博客网站等)在跑吗?部署个Jenkins比手动上线还麻烦?你想实现push代码后自动部署上线服务?

本文档将指导你如何配置 GitHub Actions + SSH 实现自动部署功能:


🧾 一、部署前提

  • • 你有一台公网可访问的服务器(如阿里云、腾讯云、Vultr 等)
  • • 你可以使用 SSH 登录服务器(已开放 SSH 端口)
  • • 项目已上传至 GitHub 仓库(例如:https://github.com/yourname/yourrepo

🗝️ 二、生成 SSH 密钥

本地终端 执行以下命令,生成专用于部署的密钥:

ssh-keygen -t rsa -b 4096 -f ~/.ssh/github-action-deploy -C "github-action"

会生成两个文件:

  • • 私钥(用于 GitHub Actions):~/.ssh/github-action-deploy
  • • 公钥(用于服务器授权):~/.ssh/github-action-deploy.pub

🧩 三、配置服务器 SSH 授权

将公钥添加到服务器的 ~/.ssh/authorized_keys 文件中:

cat ~/.ssh/github-action-deploy.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys

确保你可以用私钥连接服务器(测试):

ssh -i ~/.ssh/github-action-deploy root@服务器IP -p 你的端口号


🛡️ 四、添加 GitHub Secrets

进入你的仓库 → Settings → Secrets and variables → Actions,添加以下 Secrets:

名称

值(说明)

SSH_HOST

你的服务器 IP 地址或域名

SSH_PORT

(可选)SSH 端口号,如非 22,必须添加(如 2222)

SSH_USER

登录服务器用户名,如 root

SSH_PRIVATE_KEY

上面生成的私钥内容(github-action-deploy 文件)

📌 复制私钥内容时注意包含完整:

-----BEGIN RSA PRIVATE KEY-----
...
-----END RSA PRIVATE KEY-----

⚙️ 五、编写服务器端部署脚本 restart.sh

在你的项目目录(如 /project/hanyinfo)创建文件:

#!/bin/bash
# 1. 停掉旧服务(根据项目实际情况调整)
pkill -f "python app.py"# 2. 拉取最新代码
git pull origin main# 3. 启动服务(确保运行在后台)
nohup python3 app.py > log.txt 2>&1 &

✅ 注意:
文件需赋予执行权限:

chmod +x restart.sh


🧾 六、创建 GitHub Actions Workflow 文件

在你的项目根目录下,创建:

mkdir -p .github/workflows
nano .github/workflows/deploy.yml

内容如下:

name: Auto Deploy on Pushon:push:branches:- main  # 监听 main 分支推送jobs:deploy:runs-on: ubuntu-latestenvironment: production  # 如果你使用了环境 Secrets,必须指定steps:- name: Checkout codeuses: actions/checkout@v3- name: Deploy via SSHuses: appleboy/ssh-action@v1.0.3with:host: ${{ secrets.SSH_HOST }}username: ${{ secrets.SSH_USER }}key: ${{ secrets.SSH_PRIVATE_KEY }}port: ${{ secrets.SSH_PORT || 22 }}  # 如未设置,默认 22script: |cd /project/hanyinfo         # 替换为你服务器上项目的路径./restart.sh

🧪 七、测试部署流程

git add .github/workflows/deploy.yml
git commit -m "add auto deploy workflow"
git push origin main

✅ 推送完成后,进入 GitHub → Actions 页面 → 查看部署日志是否成功。


🧯 八、常见问题排查

问题

可能原因

解决方案

i/o timeout

SSH 被防火墙或安全组拦截

放行服务器的 SSH 端口(云平台控制台)

Permission denied

私钥不匹配

确认服务器上的公钥正确,且私钥无误

.sh: not found

脚本权限或路径错误

检查路径是否准确,并 chmod +x restart.sh

没有触发 Actions

分支名不匹配

确认 push 到的是 main(或你配置的分支)


✅ 示例目录结构参考

myproject/
├── app.py
├── restart.sh
├── .github/
│   └── workflows/
│       └── deploy.yml

✅ 小贴士

  • • 建议使用部署专用 SSH 密钥,避免泄漏日常使用的登录密钥
  • • 建议在服务器端配置虚拟环境或 Docker,确保依赖一致
  • • 如果需要部署多个环境(测试、预发布、生产),可使用 Environment + 条件触发器实现多分支部署

🎉 至此,你已完成 GitHub Actions + SSH 自动部署系统的全部配置!

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

相关文章:

  • 电商客服怎么做如何从零开始下载优化大师并安装
  • 网站加强队伍建设推推蛙品牌策划
  • 西安教育平台网站建设点金推广优化公司
  • 网站开发过程阶段全国31省市疫情最新消息今天
  • 东莞市建设安监监督网站百度点击软件名风
  • 珠海网站建设最新报价合肥优化
  • 商务网站建设与维护 试题seo运营学校
  • 免费简历模板制作网站有哪些推广平台和渠道
  • 网站开发中如何制作登录页面seo网络优化前景怎么样
  • 德阳网站怎么做seo杭州数据推广
  • 广州做网站推广公司seo薪资水平
  • 大型手游网络游戏排行榜北京seo执行
  • 朝阳区住房建设委网站域名注册查询系统
  • web网站开发作业企业网站的类型
  • 商业网站推荐关键词seo优化软件
  • 房产网站怎么做400电话搜索引擎网站推广如何优化
  • 微信网页上的网站怎么做的青岛seo排名公司
  • 沧州网站建设推广外链生成
  • 手机模板网站模板下载工具品牌网络推广运营公司
  • 建设企业网站平台百度的网址是什么呢
  • 建设网站知乎廊坊seo优化排名
  • 城市建设招标网站营销必备十大软件
  • 做文学网站用什么域名我要安装百度
  • 开通公司网站怎么开通怎么给自己的网站设置关键词
  • 洛可可设计公司市值四川seo
  • 做哪些网站不受法律保护网站首页关键词如何优化
  • 科技信息网站建设的背景汕头seo网站推广
  • 厦门方易网站制作有限公司sem竞价推广托管
  • asp网站开发环境网站排行榜前十名
  • 苏州市建设厅网站网络营销的推广方式