Github 自动化部署

这篇具有很好参考价值的文章主要介绍了Github 自动化部署。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

github action 自动化部署

一、创建github 账户

官方地址
点击进入 注册/登录

二、在项目目录下创建文件

Github 自动化部署

.github\workflows固定不变 develop.yml文件名自定义

三、编写配置文件

name: github-action-demo # 工作流名称
on:
  push:
    branches:
      - develop # 生效分支
jobs:
  first-github-job: # 任务名称 自定义
    runs-on: ubuntu-latest # 运行环境
    steps:
      - name: Checkout
        uses: actions/checkout@v3 #复用的 action 会把仓库代码检出到 runner 中。

      - name: Use Node.js
        uses: actions/setup-node@v3 # 设置nodejs版本号
        with:
          node-versions: "14.19.1"

      # 压缩项目
      - name: Build project
        run: zip -vr my-artifact ./**

      # 读取package.json的值
      - name: Read Version
        id: version
        uses: ashley-taylor/read-json-property-action@v1.0
        with:
          path: ./package.json
          property: version

      # 发布 Release
      - name: Create Release
        id: create_release
        uses: actions/create-release@v1
        env:
          GITHUB_TOKEN: ${{ secrets.TOKEN }}
        with:
          tag_name: v${{steps.version.outputs.value}}
          release_name: v${{steps.version.outputs.value}}
          draft: false
          prerelease: false

      # 上传构建结果到 Release
      - name: Upload Release Asset
        id: upload-release-asset
        uses: actions/upload-release-asset@v1
        env:
          GITHUB_TOKEN: ${{ secrets.TOKEN }}
        with:
          upload_url: ${{ steps.create_release.outputs.upload_url }}
          asset_path: ./my-artifact.zip
          asset_name: my-artifact.zip
          asset_content_type: application/zip

      # 把文件上传到服务器
      - name: Upload to Deploy Server
        uses: easingthemes/ssh-deploy@main
        env:
          # 私钥
          SSH_PRIVATE_KEY: ${{ secrets.DEPLOY_TOKEN }}
          # 指定当前目录中要上传的内容
          SOURCE: "./**"
          # 指定上传到部署机器的哪个目录下
          TARGET: "/apps/koa-koa"
          # 上传前指令,此处用于清空TARGET下的文件
          ARGS: "-avzr --delete"
          # REMOTE_HOST为机器的公网IP
          REMOTE_HOST: ${{ secrets.HOST }}
          # REMOTE_USER 为登录机器时用到账号名
          REMOTE_USER: ${{secrets.USERNAME}}

          # 排除上传的文件 用,隔开
          EXCLUDE: my-artifact.zip

          SCRIPT_AFTER: |
            whoami
            pwd
            cd /apps/koa-koa
            echo "==="
            export NVM_DIR=~/.nvm
            source ~/.nvm/nvm.sh
            echo $PATH
            node -v
            pwd
            echo $RSYNC_STDOUT
            npm install --production
            pm2 reload koatest.json

变量解释

secrets是定义在github中的变量
Github 自动化部署
通过secerts.变量名来取值


steps

Github 自动化部署

steps 是github action的关键字
create_release 是上一个步骤的id
outputs.upload_url 是上一个步骤的返回结果


仓库地址:https://github.com/yi-xiaobai/koa-koa文章来源地址https://www.toymoban.com/news/detail-437290.html

到了这里,关于Github 自动化部署的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 如何利用GitHub Actions自动化你的开发流程

    GitHub Actions 是一个强大的自动化工具,可以帮助开发者在 GitHub 仓库中自动化构建、测试和部署工作流程。使用 GitHub Actions,你可以在代码提交到 GitHub 时自动运行软件开发工作流程。以下是如何利用 GitHub Actions 自动化你的开发流程的基本步骤: ### 1. 理解 GitHub Actions 的基本

    2024年04月29日
    浏览(34)
  • 超简单:github-action自动化发布npm包小记

    打开npm官网,并注册自己的npm账号 1.登录npm官网,登录成功后,点开右上角头像,并点击Access Tokens选项 2.点开Generate New Token下拉框,点击Classic Token(和Granular Access Token有什么区别,请自行查验?) 3.填写token信息,选择token类型为Automation(可以避免2FA校验),保存申请的token信息

    2024年02月05日
    浏览(23)
  • Github 自动化部署到GitHub Pages

    前言 github仓库示例: automated-deployment 1.准备工作 新建仓库 新建项目 配置 vite.config.ts 部署应用包时的基本URL,例:vue-cli 5.x 配置 publicPath 推送到远程仓库 2.配置 GitHub Token 点击 Settings - Actions - General 找到 Workflow permissions,选中第一项并保存 工作流默认是没有推送代码的权限,

    2024年02月05日
    浏览(49)
  • Github 自动化部署

    官方地址 点击进入 注册/登录 .githubworkflows 固定不变 develop.yml 文件名自定义 变量解释 secrets 是定义在github中的变量 通过 secerts.变量名 来取值 steps steps 是github action的 create_release 是上一个步骤的 id outputs.upload_url 是上一个步骤的返回结果 仓库地址:https://github.com/yi-

    2024年02月03日
    浏览(39)
  • 通过 Github workflows CI/CD 自动化部署 Github Pages hugo 免费博客

    文章博客地址:https://blog.taoluyuan.com/posts/github-workflows/ GitHub Actions 介绍 GitHub 文档:https://docs.github.com/zh/actions/learn-github-actions/understanding-github-actions 官方介绍: GitHub Actions 是一种持续集成和持续交付 (CI/CD) 平台,可用于自动执行生成、测试和部署管道。 您可以创建工作流程来

    2024年02月07日
    浏览(46)
  • github-webhook+docker实现项目可持续自动化部署

    使用nginx+pm2+github-webhook+docker实现项目自动部署 注:docker也能实现pm2的守护进程功能(持续启动项目),所以使用了docker就不需要使用pm2了 但是需要注意的是使用node启动的webhook服务器不能使用docker,因为在webhook内部的sh脚本执行时需要到服务器的前后端项目文件中去执行,

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

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

    2024年02月07日
    浏览(54)
  • 利用 GitHub Action 对项目进行自动部署

    说一下项目背景,这是一个基于 Docusaurus 搭建的个人博客平台:Yopth.github.io ⚛️ Docusaurs 是一个优秀的搭建网站框架,基于 React 和 MDX,插件化、国际化、SEO 等做的都很不错,有需要搭建网站的同学可以考虑。 该网站利用 GitHub Pages 部署,这个方式也是 Docusaurus 所支持的,详

    2023年04月24日
    浏览(31)
  • GitHub Action 通过SSH 自动部署到云服务器上

    准备 正式开始之前,你需要掌握 GitHub Action 的基础语法: workflow (工作流程):持续集成一次运行的过程,就是一个 workflow。 name: 工作流的名称。 on: 指定次工作流的触发器。push 表示只要有人将更改推送到仓库就会触发工作流运行。(点击这里了解如何指定特定分支,路径

    2024年01月19日
    浏览(32)
  • vitepress项目使用github的action自动部署到github-pages中,理论上可以通用所有

    .githubworkflowsdeploy.yml 完整的代码:使用的是 pnpm 进行依赖安装。 这段 YAML 文件定义了一个 GitHub Actions 工作流,用于在推送到 docs 分支时构建和部署 VitePress 项目。 on : 定义触发工作流的事件,这里是在推送到 docs 分支时触发。 jobs : 定义工作流中的任务。 build-and-deploy : 任务

    2024年01月17日
    浏览(40)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包