Github 自动化部署到腾讯云服务器

news/2025/2/5 22:08:47/

1.准备工作

新建仓库

在这里插入图片描述

新建项目

在这里插入图片描述

推送到远程仓库

在这里插入图片描述

2.配置仓库密钥

点击 Settings -> Sectets and variables -> Actions -> New repository sectet

在这里插入图片描述

依次添加以下变量
Name:SERVER_HOST / Secret:服务器公网IP
Name:SERVER_USERNAME / Secret:服务器用户名
Name:SERVER_PASSWORD / Secret:服务器密码
Name:SERVER_PORT / Secret:服务器端口

在这里插入图片描述

在这里插入图片描述

3.配置 Actions 工作流

点击 Actions -> set up a workflow yourself

在这里插入图片描述

新建的 main.yml 文件名可以自定义,例:ci.yml

在这里插入图片描述

将以下配置填充到 ci.yml,部署服务器 - 更多配置项请参考:scp-action

name: Build and Deploy
# 监听 master 分支上的 push 事件
on:push:branches:- master
jobs:build-and-deploy:# 构建环境使用 ubunturuns-on: ubuntu-lateststeps:# 官方action, 将代码拉取到虚拟机- name: Checkoutuses: actions/checkout@v3with:persist-credentials: false# 安装node.js- name: Use Node.jsuses: actions/setup-node@v3with:node-version: "18.18.2"# 下载依赖、打包项目- name: Install and Buildrun: |yarn installyarn build# 部署到服务器- name: Upload to Deploy Serveruses: appleboy/scp-action@masterwith:# 服务器域名host: ${{ secrets.SERVER_HOST }}# 服务器用户名username: ${{ secrets.SERVER_USERNAME }}# 服务器密码password: ${{ secrets.SERVER_PASSWORD }}# 服务器端口port: ${{ secrets.SERVER_PORT }}# 指定上传的文件目录(项目配置的打包目录名称)source: './dist/*'# 指定上传服务器目录target: '/var/www/movie'# 解压时覆盖现有文件overwrite: true# 删除指定数量的前导路径元素strip_components: 1

注意:
branches:根据自己仓库分支名进行修改,如 main
node-version:根据项目支持的 node 版本进行修改
source:根据项目打包目录名称进行修改

在这里插入图片描述

点击右上角 Commit Changes…,提交至仓库

在这里插入图片描述

仓库根目录下会生成一个 .github/workflows 文件夹

在这里插入图片描述

4.查看 Actions 工作流

点击 Actions 进入工作流页面

在这里插入图片描述

在这里插入图片描述

点击 Create ci.yml,可查看各个步骤的执行情况

在这里插入图片描述

5.查看服务器文件

成功推送到指定的服务器文件夹

在这里插入图片描述

访问页面

在这里插入图片描述

6.自动化部署

更新一些内容,并提交代码

在这里插入图片描述

等待工作流运行完成

在这里插入图片描述

服务器上文件更新成功

在这里插入图片描述

再次访问页面,页面自动更新了

在这里插入图片描述

如果本篇文章对你有帮助的话,很高兴能够帮助上你。

当然,如果你觉得文章有什么让你觉得不合理、或者有更简单的实现方法又或者有理解不来的地方,希望你在看到之后能够在评论里指出来,我会在看到之后尽快的回复你。


http://www.ppmy.cn/news/1193174.html

相关文章

香港金融科技周2023:AIGC重塑金融形态

10月31日,由香港财经事务及库务局与投资推广署主办的“香港金融科技周2023大湾区专场”盛大启幕。中国AI决策领先企业萨摩耶云科技集团创始人、董事长兼 CEO林建明受邀参加圆桌会议,与中国内地、香港以及全球金融科技行业顶尖人才、创新企业、监管机构和…

无需服务器内网穿透Windows下快速搭建个人WEB项目

📑前言 本文主要是windows下内网穿透文章,如果有什么需要改进的地方还请大佬指出⛺️ 参考自:Windows搭建web站点:免费内网穿透发布至公网 🎬作者简介:大家好,我是青衿🥇 ☁️博客首…

tcp/ip该来的还是得来

1. TCP/IP、Http、Socket的区别 \qquad 区别是:TCP/IP即传输控制/网络协议,也叫作网络通讯协议,它是在网络的使用中的最基本的通信协议。Http是一个简单的请求-响应协议,它通常运行在TCP之上。Socket是对网络中不同主机上的应用进…

MICCAI2023论文多模态论文速读-1

文章目录 1.Attentive Deep Canonical Correlation Analysis for Diagnosing Alzheimer’s Disease Using Multimodal Imaging Genetics2.Bidirectional Mapping with Contrastive Learning on Multimodal Neuroimaging Data3.CoLa-Diff: Conditional Latent Diffusion Model f…

11月2日星期四今日早报简报微语报早读

11月2日星期四,农历九月十九,早报微语早读分享。 1、茅台深夜提价:11月1日起飞天、五星出厂价格平均上调约20%,贵州茅台:市场指导价不变; 2、杭州拟发文规范直播电商业:不得要求商…

走近Python爬虫(二):常见反爬虫机制的应对措施

文章目录 一、应对—异步加载1.一般措施2.Selenium 二、应对—登录验证1.使用Selenium模拟登录2.使用Cookies登录3.使用Session模拟表单登录 三、应对—验证码 本文是Python爬虫系列博客的第二篇,内容概览如下: 一、应对—异步加载 1.一般措施 AJAX技术…

Failed to launch task: 文件”Setup”不存在 Mac安装Adobe软件报错解决方案

在安装 Adobe 软件时,软件提示 Failed to launch task: 文件”Setup”不存在 ,这个时候怎么处理呢? 解决方法如下: 1、安装 AnitCC 或 或 Creative Cloud 环境,保证软件所需要的环境 2、如果安装后也不起作用&#x…

(复刷) 面试题02.07.链表相交

原题链接:面试题02.07.链表相交 思路: 求相交的起始结点,并不是值相交,而是结点相交,那么也就代表判断条件是指针指向的位置相等即可 A、B链表长度可能不一致,假设他们一定有相交的结点 那么需要做的 就是…