使用GitHub Actions 来进行项目远程服务器部署

这篇具有很好参考价值的文章主要介绍了使用GitHub Actions 来进行项目远程服务器部署。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

由于项目源码是托管在github的,而部署是放在远程服务器上,并且使用nginx部署。
现在的部署流程时,需要更新时,在本地切换到master分支,执行构建操作,拿到构建出的dist目录,将其上传到远程服务的某个nginx目录,重启nginx服务。 基于以上,使用GitHub Actions做CI/CD流程。

推送代码到master分支,或者master分别合并了pr时,执行流水线.
流水线文件存放在 .github/workflows/deploy.yml
基于node16.x版本,全局安装pnpm,并安装项目依赖,并进行构建。
构建完成后,使用Actions ssh-scp-ssh-pipelines https://github.com/marketplace/actions/ssh-scp-ssh-pipelines

使用该插需要配置三个密钥
DC_HOST:远程主机ip
DC_PASS:密码
DC_USER:用户名

使用GitHub Actions 来进行项目远程服务器部署,我做云原生那几年,github,服务器,运维,原力计划

使用GitHub Actions 来进行项目远程服务器部署,我做云原生那几年,github,服务器,运维,原力计划

# This workflow will do a clean installation of node dependencies, cache/restore them, build the source code and run tests across different versions of node
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-nodejs

name: ssh deploy 

on:
  push:
    branches: [ "master" ]
  pull_request:
    branches: [ "master" ]

jobs:
  build:

    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v3
    - name: Use Node.js Build
      uses: actions/setup-node@v3
      with:
        node-version: 16.16.0
        cache: 'npm'
    - run: npm i -g pnpm
    - run: pnpm install
    - run: pnpm run build
    - run: ls -l
    - name: scp ssh pipelines
      uses: cross-the-world/ssh-scp-ssh-pipelines@latest
      env:
        LASTSSH: "Doing something after copying"
      with:
        host: ${{ secrets.DC_HOST }}
        user: ${{ secrets.DC_USER }}
        pass: ${{ secrets.DC_PASS }}
        scp: |
          ./dist/* => /usr/share/nginx/visual-editor/dist
        last_ssh: |
          echo $LASTSSH 
          nginx -t
          nginx -s reload

需要做的事,配置三个密钥,检查路径和重启指令。调试。

运行完成示意图
使用GitHub Actions 来进行项目远程服务器部署,我做云原生那几年,github,服务器,运维,原力计划文章来源地址https://www.toymoban.com/news/detail-633051.html

到了这里,关于使用GitHub Actions 来进行项目远程服务器部署的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 使用pycharm远程连接到Linux服务器进行开发

    本地的 PyCharm 能达到和远程服务器之间的文件同步; 本地的 PyCharm 能够使用远程服务器的开发环境; PyCharm:PyCharm 2021.3 (Professional Edition) Linux服务器:Ubuntu20.04 配置项路径:Tools ,Deployment,Configuration 在 Connection 标签页中,点击【···】,对 SFTP 连接进行编辑。 Username:注

    2024年02月08日
    浏览(50)
  • 如何使用Pycharm进行远程开发,并实现在家远程与公司服务器资源同步

    本文主要介绍如何使用Pycharm进行远程开发,并实现在家远程与公司服务器资源同步。 新版本 Jetbrains 系列开发IDE( IntelliJ IDEA , PyCharm , GoLand )等都支持远程使用服务器编译,并且可以 通过SFTP同步本地与服务器项目代码 。 这样做的好处是**我们只要连接上服务器就能开始

    2024年02月04日
    浏览(50)
  • 04.使用 github actions+docker 自动部署前后端分离项目 zhontai (.net core+vue)

    Github Actions是什么?是 GitHub 提供的一种持续集成/持续部署(CI/CD)工作流程自动化服务,助力项目的自动化构建、测试和部署。 依托于平台,本文将分享使用 GitHub Actions 完成对一个.Net Core+Vue 的前后端分离项目 zhontai 的构建,并使用 docker 部署到云服务器(阿里云) 经过一番尝

    2024年02月11日
    浏览(60)
  • 【目标检测实验系列】AutoDL线上GPU服务器租用流程以及如何用Pycharm软件远程连接服务器进行模型训练 (以Pycharm远程训练Yolov5项目为例子 超详细)

           本篇博客主要涉及两个主体内容。 第一个 :从AutoDL网站中租用GPU服务器。 第二个 :用Pycharm软件远程连接租来的线上服务器,并以Yolov5项目为例,线上训练模型。此过程中会记录重要的地方,以及本人踩坑之后,如何解决问题的所思所想( 通读本篇博客大概需要1

    2024年02月03日
    浏览(55)
  • Linux搭建我的世界服务器和如何使用公网远程进行联机教程

    转载自内网穿透工具的文章:Linux搭建我的世界MC服务器 - MCSM面板 【外网远程联机教程】 Linux使用MCSM面板搭建我的世界私服相对比windwos简单,也是目前比较流行的设置方式,在Linux中安装MCSManger也是非常容易,一键指令脚本即可安装。 下面介绍MCSManager搭建我的世界私服+cpolar内网

    2024年02月01日
    浏览(42)
  • 开源IPad Pro应用IDE:使用SSH远程连接服务器进行云端编程开发

    🔥 博客主页 : 小羊失眠啦. 🎥 系列专栏 : 《C语言》 《数据结构》 《Linux》 《Cpolar》 ❤️ 感谢大家点赞👍收藏⭐评论✍️ 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 本文主要介绍开源iPad应用IDE如何下

    2024年02月04日
    浏览(73)
  • 解决使用zerotier进行内网穿透时,突然连接不上远程服务器的问题

    一、问题描述        最近在使用zerotier通过内网穿透的方式去访问实验室的服务器时,遇到了一些问题。        出去吃了个饭,windows笔记本自动休眠,等吃完饭回来唤醒电脑后,突然发现连不上服务器了。。。,并且换了一台电脑,依旧会出现这个问题,起初还以为是服

    2024年02月12日
    浏览(48)
  • vscode 远程服务器 上传至 github

    专栏的上一篇,是关于git全家桶的说明,下面我们就要专门 介绍怎么用vscode和git将代码上传至github。  为什么要使用或者上传至github呢?github有什么好处呢? 当然有好处啊。我们在做项目的时候肯定不是改一次代码就把项目做好了,肯定要经过好多个版本的迭代完成,而且

    2024年02月03日
    浏览(68)
  • Jmeter如何进行多服务器远程测试

    🍅 视频学习: 文末有免费的配套视频可观看 🍅 关注公众号【互联网杂货铺】,回复 1 , 免费获取软件测试全套资料,资料在手,涨薪更快 JMeter是Apache软件基金会的开源项目,主要来做功能和性能测试,用Java编写。 我们一般都会用JMeter在本地进行测试,但是受到单个电

    2024年04月26日
    浏览(41)
  • 使用 Github Actions 工作流自动部署 Github Pages

    actions顾名思义就是一堆动作,是一个持续集成服务,持续集成包含了拉代码、运行测试、编译代码、登录远程服务器,发布到第三方服务等等的操作,GitHub将这些操作称为actions。 概念:Workflows, Events, Jobs, Actions, Runners Workflows 工作流 一个 Workflow 由多个 Jobs 组成 Events 定义哪

    2024年02月07日
    浏览(70)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包