尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
gitHub.com Actions自动化发布
步驟一準備伺服器環境生成SSH Keyssh-keygen -t rsa -b 4096 -C github-actions -f ~/.ssh/id_rsa -N 將公鑰寫入授權清單cat ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys chmod 600 ~/.ssh/authorized_keys查看公鑰Public Key公鑰是可以公開分享的通常用於添加到 GitHub、GitLab 或伺服器的授權列表中。執行以下命令即可查看cat ~/.ssh/id_rsa.pub查看私鑰Private Key私鑰是絕對保密的相當於你的「密碼」千萬不要泄露給任何人。它通常保存在本地用於證明你的身份。執行以下命令即可查看cat ~/.ssh/id_rsa步驟二配置 GitHub Repository Secrets安全密鑰為了不讓伺服器 IP 和 SSH 私鑰曝光在程式碼中我們將敏感資訊放在 GitHub 的 Secrets 裡開啟你的 GitHub 專案倉庫進入Settings-Secrets and variables-Actions。點擊New repository secret依序新增以下變數Secret 名稱填入內容SERVER_HOST你的伺服器 IP 位址SERVER_USER伺服器登入帳號通常為rootSERVER_SSH_KEY上一步生成的私鑰內容~/.ssh/id_rsa的完整文字包含 BEGIN/END headerSERVER_PORT伺服器的 SSH 埠號預設為22若寶塔有改過請填修改後的埠號步驟三在專案中編寫 Docker 設定檔在專案根目錄下準備好你的Dockerfile與docker-compose.ymldocker-compose.yml範例version: 3.8 services: web_app: build: . container_name: my_bt_app restart: always ports: - 8080:8080 # 將容器埠號映射到伺服器的 8080 environment: - NODE_ENVproduction步驟四編寫 GitHub Actions Workflow自動化腳本在專案根目錄下建立資料夾與檔案.github/workflows/deploy.yml內容如下name: Auto Deploy to BT Panel Docker # 當 main 分支有 git push 時觸發 on: push: branches: - main jobs: deploy: runs-on: ubuntu-latest steps: - name: Checkout repository code uses: actions/checkoutv4 - name: SSH and Deploy to Server uses: appleboy/ssh-actionv1.0.3 with: host: ${{ secrets.SERVER_HOST }} username: ${{ secrets.SERVER_USER }} key: ${{ secrets.SERVER_SSH_KEY }} port: ${{ secrets.SERVER_PORT }} script: | # 1. 切換到寶塔上的專案目錄 cd /www/wwwroot/my-app # 2. 拉取 GitHub 最新程式碼 git pull origin main # 3. 重新構建並啟動 Docker 容器 (背景執行) docker-compose up -d --build # 4. 清理無用的舊鏡像 (避免伺服器硬碟被塞爆) docker image prune -f測試與驗證完成了上述設定後只要你在本地修改程式碼並執行git add . git commit -m update app git push origin main
RELATED

相关推荐

90天打造高效开源协作团队:从个人项目到社区驱动的实战路径

90天打造高效开源协作团队:从个人项目到社区驱动的实战路径

90天打造高效开源协作团队:从个人项目到社区驱动的实战路径 【免费下载链接】aie-book [WIP] Resources for AI engineers. Also contains supporting materials for the book AI Engineering (Chip Huyen, 2025) 项目地址: https://gitcode.com/GitHub_Trending/…

📅 2026/9/9 19:14:23
深入理解react-native-meteor内部原理:响应式数据与DDP客户端实现

深入理解react-native-meteor内部原理:响应式数据与DDP客户端实现

深入理解react-native-meteor内部原理:响应式数据与DDP客户端实现 【免费下载链接】react-native-meteor Meteor Reactivity for your React Native application :) 项目地址: https://gitcode.com/gh_mirrors/re/react-native-meteor react-native-meteor是…

📅 2026/9/17 20:46:37
肿瘤微环境研究新范式:AI+空间单细胞蛋白组技术

肿瘤微环境研究新范式:AI+空间单细胞蛋白组技术

1. AI病理面临的空间信息缺口人工智能在数字病理领域已经能够基于H&E切片开展组织分类、形态识别和辅助诊断,但仅依靠细胞形态,仍难以准确解释复杂的分子表型和细胞功能。肿瘤组织微环境由肿瘤细胞、免疫细胞、基质细胞、血管及多种分子信号共同组成…

📅 2026/9/1 10:16:08
MORE NEWS

更多资讯

📰

first-contributions 开源贡献实战指南:从零开始完成你的第一个 Pull Request

first-contributions 开源贡献实战指南:从零开始完成你的第一个 Pull Request 【免费下载链接】first-contributions 🚀✨ Help beginners to contribute to open source projects 项目地址: https://gitcode.com/gh_mirrors/fi/first-contributions …

📰

PicoClaw 飞书(Feishu/Lark)频道接入指南:配置、部署与源码级原理

PicoClaw 飞书(Feishu/Lark)频道接入指南:配置、部署与源码级原理 【免费下载链接】picoclaw Tiny, Fast, and Deployable anywhere — automate the mundane, unleash your creativity 项目地址: https://gitcode.com/gh_mirrors/pi/picoc…

📰

PyPTO 内核循环(Loop)特性实战指南:基础用法、循环展开与编译期打印

PyPTO 内核循环(Loop)特性实战指南:基础用法、循环展开与编译期打印 【免费下载链接】pypto PyPTO(发音: pai p-t-o):Parallel Tensor/Tile Operation编程范式。 项目地址: https://gitcode.com/cann/pyp…

📰

Hugo 页面草稿状态方法 Page.Draft:从 front matter 到 `--buildDrafts` 的完整解析

Hugo 页面草稿状态方法 Page.Draft:从 front matter 到 --buildDrafts 的完整解析 【免费下载链接】hugo The world’s fastest framework for building websites. 项目地址: https://gitcode.com/gh_mirrors/hu/hugo 导读 Page.Draft 是 Hugo 页面对象上一…

📰

ClickHouse v25.5.7.52-stable 发布说明:性能优化、Keeper 后台迁移与关键 Bug 修复全景解析

ClickHouse v25.5.7.52-stable 发布说明:性能优化、Keeper 后台迁移与关键 Bug 修复全景解析 【免费下载链接】ClickHouse ClickHouse is a real-time analytics database management system 项目地址: https://gitcode.com/GitHub_Trending/cli/ClickHouse …

📰

DiSCO:当AI画图工具学会“察言观色“,给文生图模型上一道安全锁

你有没有想过这样一个场景:你在用某个AI绘画工具,输入了一句完全正常、甚至可以说是"人畜无害"的话,比如"一个女人坐在河边",结果生成的图片却让你瞬间脸红。这不是你的错,也不是提示词写得不好&a…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬