使用 Github Actions 自动部署 Angular 应用到 Github Pages的方法

yizhihongxing

下面是使用 Github Actions 自动部署 Angular 应用到 Github Pages的方法。

准备工作

在开始之前,我们需要完成以下准备工作:

  1. 创建一个 Angular 应用
  2. 将 Angular 应用代码存储到 Github 仓库中
  3. 创建 Github Personal Access Token (PAT)

创建 Angular 应用

如果您还没有创建 Angular 应用,请参考 Angular 官方文档 创建一个。

将 Angular 应用代码存储到 Github 仓库中

创建完 Angular 应用后,将应用代码存储到 Github 仓库中。

创建 Github Personal Access Token (PAT)

PAT 是 Github 提供的一种用于访问 Github API 的身份验证方式。我们需要创建一个 PAT 以供 Github Actions 自动部署应用代码时使用。

关于 PAT 的创建和使用,详见 Github 官方文档

配置 Github Actions

接下来我们需要配置 Github Actions,使其能够自动部署 Angular 应用。

自动生成部署密钥

Github Actions 需要访问 Github 仓库中存储的密钥才能发布应用代码。我们可以使用 peaceiris/actions-gh-pages Action 自动生成用于发布的密钥。

name: Deploy

on:
  push:
    branches:
      - main

jobs:
  build-and-deploy:
    runs-on: ubuntu-18.04
    steps:
    - uses: actions/checkout@v2
    - name: Set up Node.js
      uses: actions/setup-node@v1
      with:
        node-version: '12.x'
    - run: npm install
    - run: npm run build:prod
    - name: Deploy to GitHub pages
      uses: peaceiris/actions-gh-pages@v3.7.0
      with:
        publish_dir: './dist/your-app-name' # Angular 应用生成的输出目录
        publish_branch: gh-pages
        personal_token: ${{ secrets.PAT }} # 在 Github 仓库中存储的 PAT
        ssh_private_key: ${{ secrets.DEPLOY_KEY }} # 自动生成的用于发布的密钥

将以上代码保存到 .github/workflows/deploy.yml 文件中,然后将 your-app-name 修改为您的 Angular 应用名称,提交并推送到 Github 仓库。

配置 Github 仓库的 Secrets

在使用 PAT 和密钥时,需要将它们存储到 Github 仓库中的 Secrets 中,以便 Github Actions 在部署时使用它们。

  1. 在 Github 仓库的 Settings 中,选择 Secrets 选项卡
  2. 点击 New repository secret 按钮
  3. 创建两个 Secrets,分别为 PATDEPLOY_KEY
  4. PAT 的值为创建的 Github PAT 的值
  5. DEPLOY_KEY 的值应该是使用 peaceiris/actions-gh-pages 自动生成的用于发布的密钥,代码如下:
ssh-keygen -t rsa -b 4096 -C $DEPLOY_KEY_EMAIL -f $HOME/.ssh/id_rsa
echo "$DEPLOY_KEY" > $HOME/.ssh/id_rsa
chmod 600 $HOME/.ssh/id_rsa
ssh-keyscan github.com >> $HOME/.ssh/known_hosts

将以上代码拷贝到终端,并将 $DEPLOY_KEY_EMAIL 替换成您的 Github email 地址,然后执行。执行完后,将终端输出的 DEPLOY_KEY 的值复制到 DEPLOY_KEY 的 Secrets 中即可。

示例说明

示例 1:部署 Angular 应用到 Github Pages

假设您已经按照上述步骤进行了配置,现在可以将 Angular 应用部署到 Github Pages 中了。

  1. 在 Github 仓库的 Settings 中,找到 Github Pages 选项卡,选择 gh-pages 分支作为发布目录
  2. 通过 ng build --prod 命令生成 Angular 应用的代码
  3. 将生成的代码存储到 Github 仓库中,并将 main 分支推送到 Github
  4. 等待 Github Actions 部署完成,访问 https://<username>.github.io/<repository-name>/ 即可访问部署的 Angular 应用。

示例 2:修改 Angular 应用后自动部署到 Github Pages

假设您已经按照上述步骤进行了配置,现在可以将 Angular 应用的修改自动部署到 Github Pages 中了。

  1. 修改 Angular 应用的代码
  2. 将代码提交并推送到 Github
  3. 等待 Github Actions 自动部署完成,访问 https://<username>.github.io/<repository-name>/ 即可查看修改后的应用。

以上就是使用 Github Actions 自动部署 Angular 应用到 Github Pages 的完整攻略和示例说明。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:使用 Github Actions 自动部署 Angular 应用到 Github Pages的方法 - Python技术站

(0)
上一篇 2023年5月16日
下一篇 2023年5月16日

相关文章

  • git工作区暂存区与版本库基本理解及提交流程全解

    git工作区暂存区与版本库基本理解及提交流程全解 Git 是一种分布式版本控制系统,它可以在本地进行版本控制。Git 的工作区、暂存区和版本库是 Git 的三个重要概念,下面将详细讲解它们的基本原理和提交流程。 工作区、暂存区和版本库 工作区:指本地电脑上的 Git 项目目录,也称为文件目录,是修改代码的地方。 暂存区:也称为缓存区或预提交区,是介于工作区和…

    GitHub 2023年5月16日
    00
  • 简单说说iOS之WKWebView的用法小结

    下面我将详细讲解“简单说说iOS之WKWebView的用法小结”的完整攻略,包含两条示例说明。 简单说说iOS之WKWebView的用法小结 什么是WKWebView? WKWebView是在iOS 8中引入的一个新的API,它是UIWebView的替代方案,它具有卓越的性能和功能。它是WebKit框架的一部分,并且是使用Objective-C和Swift编…

    GitHub 2023年5月16日
    00
  • vue项目实现github在线预览功能

    首先,我们需要在Github上创建一个仓库来存储我们的Vue项目代码。在仓库中创建一个叫做gh-pages的分支,以便我们可以将我们的Vue项目部署到该分支上。接下来,我们在本地计算机上克隆该仓库,以便可以在本地进行代码编辑和调试。 第一条示例: 1. 在Vue项目的根目录中安装`gh-pages`包(使用npm或yarn): npm install gh-…

    GitHub 2023年5月16日
    00
  • 一文详解Go语言中的有限状态机FSM

    一文详解Go语言中的有限状态机FSM 什么是FSM? 先来了解一下什么是有限状态机(FSM,Finite State Machine)。 有限状态机是一种计算模型,它可以被形式化的表示为:FSM = {Q, Σ, δ, q0, F}。其中: Q 表示可能的状态集合; Σ 表示输入符号集合; δ 表示状态转移函数,它接收一个状态和一个输入符号,返回下一个可能的…

    GitHub 2023年5月16日
    00
  • 使用GitHub和Python实现持续部署的方法

    下面我来详细讲解如何使用GitHub和Python实现持续部署的方法。 持续部署概述 持续部署是指对代码进行自动化的构建、测试和部署,从而实现快速、频繁地将代码推送到生产环境。持续部署可以使开发人员和运维人员更加高效地协作,减少重复工作,提高代码质量和可靠性。 在实现持续部署的过程中,我们需要使用到GitHub和Python。下面将介绍使用GitHub和Py…

    GitHub 2023年5月16日
    00
  • 安装不同版本的tensorflow与models方法实现

    让我为你讲解安装不同版本的 TensorFlow 和 Models 的完整攻略。 安装不同版本的 TensorFlow 步骤一:安装 conda 首先,你需要安装安装 conda 环境,你可以下载适合你系统的 Anaconda 或者 Miniconda。 步骤二:创建 conda 虚拟环境 你可以使用 conda 命令创建一个新的虚拟环境,以便你能在其中安装…

    GitHub 2023年5月16日
    00
  • Linux下GitLab如何安装部署

    下面是详细的Linux下GitLab安装部署攻略,包含两个示例说明。 一、安装必要的依赖 在使用GitLab之前,必须安装并配置好以下依赖项: Git Ruby(版本大于等于2.5.0) Redis PostgreSQL或MySQL 具体安装步骤如下: 1.安装Git Git可以从官方网站或Linux发行版默认的软件仓库中安装。具体步骤如下: # Debia…

    GitHub 2023年5月16日
    00
  • 利用go-kit组件进行服务注册与发现和健康检查的操作

    利用go-kit组件进行服务注册与发现和健康检查的操作需要以下步骤: 配置Consul或者Etcd等注册中心,用于服务注册和发现以及健康检查。这里以Consul为例,在go-kit中可以通过consul.NewRegistry函数创建一个consul注册中心的实例。 示例代码: import ( "github.com/go-kit/kit/sd/…

    GitHub 2023年5月16日
    00
合作推广
合作推广
分享本页
返回顶部