首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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

整个项目中所涉及的 npm 命令,我们可以通过查阅项目的 package.json 文件中的 scripts 节点进行查看 这里通过 Angular CLI 创建的项目可以通过 ng build 命令来完成项目的打包发布...Actions tab 页面新增一个 workflow,也可以直接在本地代码根路径中新建一个 .github/workflows 文件夹来存放相关的脚本,因为 github actions 的执行脚本采用的是...actions/cache@v2 来缓存项目依赖,以加快构建的过程 这里在还原依赖时,使用到了 npm ci 而不是 npm install,从命令的名称就可以看出,ci 主要是在各种自动化环境构建时使用...dependencies to build app - name: Install dependencies run: npm ci 当还原完成之后,就可以执行 package.json...当我们添加了环境变量之后,还需要对我们的实际执行的 npm 命令脚本进行一个调整 在本地执行发布命令时,本地的 git 配置中已经包含了相关的账户信息,而当在 workflow 中执行时因为处于一个匿名的状态

1.5K10

使用CircleCI2.0持续集成Angular项目

每月构建时长1000分钟以内免费 (基本够用) 提供的构建环境配置2核CPU / 4G内存,(算是很慷慨了) 据测试如果是在1核1G的主机下执行npm run build很容易报内存不足 有专门的配置文件来定义...具体实现 Angular项目根目录新建.circleci目录(注意以点开头),然后在这个目录里面再新建config.yml文件 下面是我正在使用的配置,具体语法可以见官方介绍 # Check https...还有配置文件里限制了分支,只有往daily-build分支上合并代码才会触发CircleCI的构建。..."build": "ng build --prod", "test": "ng test --configuration=testing", "ci-build": "node --max_old_space_size..."ci-test": "ng test --configuration=testing --watch=false --browsers=ChromeHeadless --progress=false"

83140
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    GitLab CICD 在 Node.js 项目中的实践

    ,之前有遇到过同事在本地测试代码,将时间调整为了几天前的时间,后时间没有改回正确的时间时进行了一次部署操作,代码出现问题后却发现回滚失败了,原因是该同事部署的版本时间戳太小,shipit 找不到之前的版本...但是大家都知道的, TypeScript 最终需要编译转换为 JavaScript(也有 tsc 那种的不生成 JS 文件,直接运行,不过这个更多的是在本地开发时使用,线上代码的运行我们还是希望变量越少越好...所以就提到了另一个配置文件中的选项:cache 用来指定某些文件、文件夹是需要被缓存的,而不能清除: cache: key: ${CI_BUILD_REF_NAME} paths: -...而如果我们直接点击 retry 就会带来一个问题,因为我们的 dist 文件夹是缓存的,而 deploy 并不会管这种事儿,他只会把对应的要推送的文件发送到服务器上,并重启服务。...而实际上 dist 还是最后一次(也就是出错的那次)编译出来的 JS 文件,所以解决这个问题有两种方法: 在 deploy 之前执行一下 build 在 deploy 的时候进行判断 第一个方案肯定是不可行的

    1.4K20

    GitLab CICD 在 Node.js 项目中的实践

    ,之前有遇到过同事在本地测试代码,将时间调整为了几天前的时间,后时间没有改回正确的时间时进行了一次部署操作,代码出现问题后却发现回滚失败了,原因是该同事部署的版本时间戳太小,shipit 找不到之前的版本...但是大家都知道的, TypeScript 最终需要编译转换为 JavaScript(也有 tsc 那种的不生成 JS 文件,直接运行,不过这个更多的是在本地开发时使用,线上代码的运行我们还是希望变量越少越好...所以就提到了另一个配置文件中的选项:cache 用来指定某些文件、文件夹是需要被缓存的,而不能清除: cache: key: ${CI_BUILD_REF_NAME} paths: -...而如果我们直接点击 retry 就会带来一个问题,因为我们的 dist 文件夹是缓存的,而 deploy并不会管这种事儿,他只会把对应的要推送的文件发送到服务器上,并重启服务。...而实际上 dist 还是最后一次(也就是出错的那次)编译出来的 JS 文件,所以解决这个问题有两种方法: 在 deploy 之前执行一下 build 在 deploy 的时候进行判断 第一个方案肯定是不可行的

    3.3K41

    如何使用 npm 执行本地安装 npm 包里的二进制文件

    例如,像 webpack、eslint、typescript 这样的工具,它们本质上都是可以在命令行中直接执行的二进制文件。...这意味着你可以在任何地方运行这个命令,无需指定路径。例如,全局安装 typescript 后,可以直接在命令行中输入 tsc 来执行 TypeScript 编译器。...版本一致性:通过本地安装,你可以确保团队中的所有成员使用相同版本的依赖包。这有助于避免由于依赖包版本不一致而导致的问题。...例如,当你在 GitHub Actions 或 Jenkins 中配置 CI 流水线时,可以通过执行 npm install 来安装所有依赖包,然后使用 npm run build 来构建项目。...因为依赖包是本地安装的,CI 流水线不会受到开发者本地环境中可能存在的全局包的影响,从而确保构建的一致性和可重复性。总结本地安装的 npm 包的二进制文件在 Node.js 项目中起着至关重要的作用。

    13310

    Angular8稳定版修改概述

    SVG作为模板 您现在可以将SVG文件用作模板。到目前为止,我们只能选择使用内联HTML或外部HTML作为模板。...Bazel将提供以下优势: 更快的构建时间(对于第一次构建需要时间,但并发构建将更快),Angular已经在使用它,现在CI在7.5分钟内完成,而不是在Bazel之前的60分钟。...增量构建:您将能够仅构建和部署已更改的内容而不是整个应用程序。 您可以弹出Bazel文件,默认情况下它们是隐藏的。...angular使用builders进行主要操作:serve ,build ,test ,lint和e2e 。您可以在angular.json文件中查看使用过的构建器。 ......: formArray.clear() 对Typescript 3.4.x的支持 Angular现在使用TypeScript 3.3(v7使用3.2.x)。

    4.5K20

    基于 Yarn WorkSpace + Lerna + OrangeCI 搭建 Typescript Monorepo 项目实践

    Yarn只使用唯一的yarn.lock文件,而不是每个项目都有一个package-lock.json,这能降低很多潜在性的冲突。 lerna bootstap会重复安装相同的依赖项。.../lib/index.d.ts" // 声明文件 } 根目录安装 Typescript 依赖 yarn add typescript -W -D Typescript 完成初始化 // 根目录新建tsconfig.json...rootDir是输出正确的输出文件夹路径所必需的,否则 TypeScript 可能会推断出根文件夹目录输出不必要的嵌套文件夹。...compile脚本是运行 tsc --build,而build脚本除了运行compile脚本外,还前置清除了所有 package 的输出目录,以及tsconfig.build.tsbuildinfotsc...注:文中使用的 CI 是腾讯内部开源的 Orange CI,但万变不离其宗,利用 CI 去发布 npm 包的核心要义是,把 CI 模拟为本地环境,编写脚本完成构造、更新版本标签、发布 npm 这一流水线

    3.9K42

    如何在 Windows 上安装 Angular:Angular CLI、Node.js 和构建工具指南

    之后,您将使用目录结构和一堆配置和代码文件创建项目。它将主要采用 TypeScript 和 JSON 格式。...polyfills.ts:Angular 所需的 polyfill styles.css:项目的全局样式表文件 test.ts:这是 Karma 的配置文件 tsconfig.*.json:TypeScript...:TypeScript 的配置文件 tslint.json:TSlint(静态分析工具)的配置文件 为您的项目服务 Angular CLI 提供了一个完整的工具链,用于在本地计算机上开发前端应用程序。...因此,您不需要安装本地服务器来为您的项目提供服务 —您可以简单地从终端使用 ng serve 命令在本地为您的项目提供服务。...首先导航到项目的文件夹中并运行以下命令: $ cd frontend $ ng serve 您现在可以导航到 http://localhost:4200/ 地址来开始使用您的前端应用程序。

    61700

    angular-cli.json配置参数解释,以及依稀常用命令的通用关键参数解释

    "testTsconfig": "tsconfig.spec.json", // 指定TypeScript单测脚本的tsconfig文件 "tsconfig":"tsconfig.app.json...常用命令的通用关键参数解释 1.ng serve --host (self) 指定本地Server绑定的域名,默认值:localhost.如果希望使用self来访问你的站点,须加入以上参数 2.ng serve...--base-href 指定站点的起始路径,如果你希望你的站点根路径为www.abc.com/mypath/,需要这样设置:ng build --base-href /mypath/ 6....下面两条等价: ng build --target=production ng build --prod 7.--environment 指定应用执行环境。...下面两句等价: ng build --environment=prod ng build --env=prod 构建时会加载angular-cli.json指定的环境配置文件: "environments

    1.6K30

    创建现代npm包的最佳实践

    这可以确保我们没有遗漏任何源代码文件,这些文件是软件包正常运行所需要的。这也是一个好的做法,以确保我们不会意外地将敏感信息泄露给公众,如带有数据库凭证或API密钥的本地配置文件。...为了面向未来并支持这两种格式,我们来看下使用 TypeScript怎么来配置。 首先,创建一个基本的 TypeScript 配置文件 tsconfig.base.json。.../configs/tsconfig.cjs.json", "prepack": "npm run build" 现在可以在终端运行 npm run build,让TypeScript构建你的项目...Mocha.js 是一个测试运行器,Chai.js是一个断言库,帮助确定你是否从你的代码中得到你所期望的结果,而 ts-node 帮助我们在TypeScript项目中使用这些工具。...第一个是主要版本,第二个是次要版本,而最后一个是补丁版本。 Semantic Release的工具可以与 GitHub Actions 整合来帮助我们自动修改版本并发布。

    2.1K10

    Angular10配置webpack打包 「详细教程」

    完整命令:ng new my-app --style less 第三步:启动开发服务器 Angular 包含一个开发服务器,以便你能轻易地在本地构建应用和启动开发服务器。...新生成的应用包含一个根模块的源文件,包括一个根组件及其模板。 当工作空间文件结构到位时,可以在命令行中使用 ng generate 命令往该应用中添加功能和数据。...项目专属的 TypeScript 配置文件继承自工作区范围内的 tsconfig.base.json,而项目专属的 TSLint 配置文件则继承自全工作区级内的 tslint.json。...添加ngx-build-plus: ng add ngx-build-plus 注意:如果要将其添加到projects文件夹中的特定子项目,请使用--project开关指向它:ng add ngx-build-plus...这对于在文件名中包含每次会随着编译而发生变化哈希的 webpack bundle 尤其有用。 你可以让插件为你生成一个HTML文件,这个插件有两个重要作用。

    5.1K20

    可能是目前最详细从零开始配置 TypeScript 项目的教程

    什么情况下可以使用 Tree Shaking 的能力? 如何引入 ES Module 库包?在构建层面和包描述文件层面需要注意哪些方面? 谈谈你对 TypeScript 声明文件的理解?...TypeScript TypeScript 背景 工具函数库的实现采用 TypeScript,除了可以自动生成 ts 声明文件供外部更好的提示使用之外,也可以避免 JavaScript 动态性所带来的一些无法预料的错误信息...除此之外,此项目希望可以快速生成声明文件供外部进行代码提示,此时仍然可以借助 gulp-typescript 工具自动生成声明文件。...需要注意类似于 Jenkins 等支持本地连接运行,Github Actions 也支持连接到本地机器运行 workflow,因此部分限制可能不受本地运行的限制。...上传 CI 的配置文件后,Github 就会进行自动构建,具体如下: ? 正在构建或者构建完成后可查看每个构建的信息,如果初次构建失败则可以通过构建信息找出失败原因,并重新修改构建配置尝试再次构建。

    5.1K22

    dotnet 配置 Gitlab 的 Runner 做 CI 自动构建

    配置的 NuGet 文件是否在 user 文件夹的,而 Runner 使用 System权限运行,所以找不到 VisualStudio 设置的文件 先通过 VisualStudio 设置私有的 NuGet...NuGet 的上传而不是 dotnet 的上传 在项目的根文件夹放一个 .gitlab-ci.yml 文件,尝试添加下面代码 # 这是一个 yaml 文件,使用 # 作为注释 stages: -...原因是如果没有配置将会提示系统找不到文件 系统找不到指定的路径。...如果在 Key 选项填入 foo 那么在 ci.yaml 文件里面通过 $foo 拿到值 现在有新项目接入就快多了,只需要让新项目复制 .gitlab-ci.yml 文件就可以了。...如果此时用到了 msbuild 同时项目使用 SDK 格式,此时的 NuGet 将会放在 user\.nuget 文件夹里面,而如果 runner 使用的是服务运行,使用的用户是 System 那么将找不到

    2.3K20

    如何管理云原生应用程序的依赖关系

    云原生应用是使用微服务开发的,而微服务是小型、独立的服务,它们共同组成了一个更大的应用程序。 微服务是一种能够让开发者更轻松地构建和维护大型应用程序的软件架构。...要检查过时的依赖关系,你可以通过导航到 NPM 文件夹打开终端,运行以下命令: 你也可以使用一个简单的依赖关系检查脚本,它将检查一个 repo 或软件包的所有依赖关系。..."start": "ng serve", "build": "ng build", "test": "ng test", "lint": "ng lint", "e2e"...: "ng e2e", "build-lazy": "ng build lazy", "build-dynamic": "ng build dynamicService", "npm-pack-lazy...{ts,tsx}": [ "prettier --parser typescript --writeprettier --parser typescript --write", "git

    1.7K10

    Webpack5 搭建 Vue3 + TS 项目

    但是 babel7 出来之后有了解析 typescript 的能力,有了这一层面的支持,我们就可以只使用 babel,而不用再加一轮 ts 的编译流程了。...在 babel 7 中,我们使用新的 @babel/preset-typescript 预设,结合一些插件便可以解析大部分的 ts 语法。...', 'chore', 'ci', 'feat', 'docs', 'fix', 'perf', 'revert', 'refactor', 'style', 'test', 'init', 'build...构建部署 Travis CI Travis CI 是一款构建和测试的自动化工具,不仅可以提高效率,还能使开发流程更可靠和专业化,从而提高软件的价值。...详细介绍可以查看 阮一峰——《持续集成服务 Travis CI 教程》 首先,访问官方网站 travis-ci.org,点击右上角的个人头像,使用 Github 账户登入 Travis CI。

    1.5K30

    Angular2打包遇到的问题与解决方法

    angular2最后想打包放到服务器,需要在文件目录运行 ng build 命令,运行完会生成一个 dist 目录,将这个目录放到服务器上就可以了。...image.png 打包生成的文件路径错误找不到文件。原因可能是我的文件不是直接放在服务器根目录下。尝试去修改index.html里这些文件引用地址,可以是可以但是太麻烦了。...后来发现可以直接在ng build后面跟指定的路径,比如说 ng build --base-href /test/dist/ 或者 缩写ng build --bh /test/dist/ 访问的地址是...http://localhost/test/dist/ 问题就解决了 要是图片引用还有问题可以把引用路径改为相对路径。...网上有的方法说吧package.json的build加上上述参数,然后ng run build也可以,我这边不行不知道为什么。大家可以试一下。

    1K00

    Webpack5 搭建 Vue3 + TS 项目

    但是 babel7 出来之后有了解析 typescript 的能力,有了这一层面的支持,我们就可以只使用 babel,而不用再加一轮 ts 的编译流程了。...在 babel 7 中,我们使用新的 @babel/preset-typescript 预设,结合一些插件便可以解析大部分的 ts 语法。...', 'chore', 'ci', 'feat', 'docs', 'fix', 'perf', 'revert', 'refactor', 'style', 'test', 'init', 'build...构建部署 Travis CI Travis CI 是一款构建和测试的自动化工具,不仅可以提高效率,还能使开发流程更可靠和专业化,从而提高软件的价值。...详细介绍可以查看 阮一峰——《持续集成服务 Travis CI 教程》 首先,访问官方网站 travis-ci.org,点击右上角的个人头像,使用 Github 账户登入 Travis CI。

    2.2K50
    领券