Vue:如何在 CI 平台上找出构建引擎所需的依赖项?

伯顿洛厄尔

我构建了一个 Vue 应用程序,每次更新时都需要我从我的机器构建资产。另一位开发人员让我让他们知道依赖关系,以便他们在 Circle CI 上设置构建引擎。这是否意味着dependencies和 中devDependencies列出的package.json其中一些我不记得手动安装。

杰森·特鲁

如果不直接与同事交谈,很难知道他们的要求,但是对于基于云的持续集成系统,您通常需要知道系统先决条件是什么才能构建。package.json 中的内容很简单,只要您在 package.json 的“脚本”部分中有一个“构建”命令。

例如,我有一个 package.json 大致如下所示:

"build": "yarn build:umd & yarn build:es & yarn build:unpkg",
"build:umd": "rollup --config build/rollup.config.js --format umd --file dist/honeybadger-vue.umd.js",
"build:es": "rollup --config build/rollup.config.js --format es --file dist/honeybadger-vue.esm.js",
"build:unpkg": "rollup --config build/rollup.config.js --format iife --file dist/honeybadger-vue.js",
"build:unpkg-minify": "rollup MINIFY=true --config build/rollup.config.js --format iife --file dist/honeybadger-vue.min.js",

但是,对于持续集成设置,我需要告诉 CI 系统我需要什么才能运行这些命令。这些可能是您的同事正在询问的依赖项。

例如,我使用 Travis 而不是 Circle CI,但我需要指定我需要在哪些 Node 版本上运行测试,我可能需要哪些外部依赖项来构建库和运行测试。这可能是 ImageMagick 之类的库、无头 Chrome,也可能是某些用例的数据库客户端。我还需要知道需要运行哪些命令来运行构建(一旦你告诉它语言是 node_js,travis 会做出一个合理的假设;我希望 Circle CI 是类似的)。

在我的特定 Travis 设置中,我在名为 .travis.yml 的项目中有一个配置文件,它告诉 Travis 它需要知道的一切,如下所示:

dist: trusty
language: node_js
node_js:
   - 8
   - 10
   - 11
sudo: false
addons:
  chrome: stable
before_script:
  - "export DISPLAY=:99.0"
  - "sh -e /etc/init.d/xvfb start"
  - sleep 3 # give xvfb some time to start
before_install:
  - google-chrome-stable --headless --disable-gpu --remote-debugging-port=9222 http://localhost &

这列出了我想要测试的 Node 版本、预构建命令列表以及我需要的一些插件。如果需要,我可以很容易地使用操作系统包管理器添加内容。

基本上,我认为您的开发人员正在寻找足够的信息以确保可以在其他人的机器上构建库。这几乎可以肯定是他们所说的“依赖项”,因为您的包文件将包含足够的信息来引用 Node 可以自行处理的任何依赖项。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Gitlab CI-如何在当前构建之前构建本地Maven依赖项?

如何在Gitlab CI中缓存Gradle依赖项

如何在 TFS 上设置 CI/CD——导入依赖项?

如何在本地触发Gitlab CI构建?

如何在gitlab-ci.yml中指定图像平台

如何在 CI 构建中更改 POM 版本?

如何在GitHub Actions CI / CD中构建Flutter

如何在Travis CI上构建Python 3.8?

如何在Travis CI构建中运行脚本?

Gitlab CI 如何在构建 docker 镜像之前运行测试

如何在CI构建中访问多个存储库?

如何在不使用 venv 的情况下在 Gitlab CI/CD 中缓存 python 依赖项?

从GitLab CI / CD自动部署后如何安装依赖项

如何在Travis CI上构建Visual Studio 2019项目?

如何从Gitlab CI获取构建徽章图像

同时在多个平台上运行Gitlab CI

Office 加载项——如何在某些平台上而不是在其他平台上提供功能?

使用Gitlab CI部署Vue.js构建

如何在 gitlab_ci 构建中使用带有标题的 wget?

如何在没有测试的情况下配置Travis CI以构建Node.js?

如何在Azure Pipelines for CI / CD中使用较新版本的Maven构建

如何在构建服务器上使用“ firebase login:ci”

如何在Travis CI上构建MacOSX可执行文件?

如何在CI中使用访问令牌,例如Jenkins或CAKE构建?

如何在我的Travis CI构建中添加libsdl2的最新版本?

如何在Azure DevOps的CI管道中构建供解决方案使用的外部类库?

如何在R中使用glm获得“对于二项式比例为95%CI”

如何为单/跨平台开发设置Jenkins CI集群?

在GitLab CI构建期间如何从私有GitLab Git存储库中提取NPM依赖关系