GitHub Actions CI/CD终极攻略:告别手动部署,你的代码“免费VPN”般丝滑上线!
[00:00:00] 大家好!今天我们来搞一个大事情!
What's up guys, 今天我们要解锁一个超级酷炫的技能,直接把你的代码从GitHub仓库,像“免费VPN”一样,咻~的一下部署到服务器上!没错,我说的就是GitHub Actions CI/CD流水线配置教程!告别那些手动复制粘贴的苦逼日子,让你的代码上线流程比看美女潮喷视频还流畅![笑]。
你是不是也遇到过这样的情况:代码写好了,测试通过了,结果部署的时候各种报错,环境不一致,依赖没装对?头都大了对不对?别急,今天我就手把手教你,把这些烦恼统统甩掉!
[00:01:30] CI/CD入门:GitHub Actions怎么用?
OK so,首先,我们得知道GitHub Actions是什么。简单来说,它就是GitHub官方提供的一个自动化工具,可以帮你自动化完成代码的构建、测试、部署等一系列操作。这意味着,你每次提交代码,它都能自动帮你跑一遍测试,然后自动部署到你的服务器上!是不是很香?
接下来,我们直接上实操!
第一步:创建你的工作流文件
在你的项目根目录下,创建一个 .github/workflows/ 目录。然后在这个目录下,新建一个 .yml 文件,比如 deploy.yml。
name: Deploy My Awesome App
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
build-and-deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Set up Node.js (or Python, Java, etc.)
uses: actions/setup-node@v3
with:
node-version: '16'
- name: Install dependencies
run: npm install
- name: Build project
run: npm run build
- name: Deploy to Server
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.SSH_HOST }}
username: ${{ secrets.SSH_USERNAME }}
key: ${{ secrets.SSH_PRIVATE_KEY }}
script: |
cd /var/www/my-app
git pull origin main
npm install --production
npm run restart-app
你看,这个 deploy.yml 文件就是我们的“魔法咒语”!它告诉GitHub Actions,当我们的 main 分支有新的 push 或者 pull_request 时,就触发这个工作流。
[00:03:45] 核心配置揭秘:秘密变量与SSH部署
OK so,你肯定看到了 ${{ secrets.SSH_HOST }} 这些东西,这是啥?这就是GitHub Actions的秘密武器——Secret变量!为了安全,我们不能把服务器的IP、用户名、私钥这些敏感信息直接写在代码里。
第二步:配置GitHub Secrets
来,跟着我操作:
- 打开你的GitHub项目页面。
- 点击
Settings(设置)。 - 在左侧菜单找到
Secrets and variables->Actions。 - 点击
New repository secret。 - 分别创建
SSH_HOST(你的服务器IP或域名)、SSH_USERNAME(服务器用户名,比如ubuntu)、SSH_PRIVATE_KEY(你的SSH私钥,记得是私钥内容,不是路径哦!)。
这些秘钥会自动加密,只有GitHub Actions在运行时才能访问,安全级别杠杠的!这样你的“GitHub Actions CI/CD教程”就更进一步了!
第三步:部署脚本细节
在 script 部分,你可以写任何你希望在服务器上执行的命令。比如我这里演示的是一个Node.js应用的部署流程:进入应用目录,拉取最新代码,安装生产环境依赖,然后重启应用。
你看右上角这个按钮,点进去就能看到每次提交代码后,GitHub Actions的运行状态。成功了是绿色的勾,失败了是红色的叉。简直是“GitHub Actions CI/CD流水线”的实时监控器!
[00:05:50] 效果展示与总结
现在,你只要往 main 分支提交代码,GitHub Actions就会自动帮你完成构建和部署。再也不用手动连接服务器、手动拉取代码、手动重启服务了!你的代码上线速度就像用了“免费VPN”一样,快到飞起![弹幕:AWSL!]
这个“GitHub Actions教程”是不是超实用?学会了它,你的开发效率会有一个质的飞跃!
好了,今天的分享就到这里!如果你觉得这个视频对你有帮助,别忘了给我来个一键三连:点赞、投币、收藏!下期想看什么技术教程,评论区告诉我!拜拜!