在您的 Nodejs 应用程序中使用 Travis CI 设置持续集成

2025-06-07

在您的 Nodejs 应用程序中使用 Travis CI 设置持续集成

特拉维斯徽标

这篇文章将详细解释如何在 nodejs 项目中设置Travis CI部署。

什么是持续集成?

持续集成是一种持续的实践,即频繁地合并小规模的代码变更,而不是在开发周期结束时才合并大规模的变更。其目标是通过以较小的增量进行开发和测试来构建更健康的软件。这正是 Travis CI 的用武之地。

项目设置

为了测试 Travis CI 的工作方式,我们需要创建一个包含测试的 Node 项目。
请确保已安装 node 和 npm node -v,并npm -v检查其版本。

# start up your project

mkdir travis-ci
cd travis-ci
npm init

# install the dependencies required for this project
npm install express mocha chai
Enter fullscreen mode Exit fullscreen mode

在根目录中创建一个index.js文件,内容如下。

# index.js

const express = require('express');

const app = express();

app.get('/', (req, res) => {
  res.send('ci with travis');
});

const server = app.listen(3000, () => {
  console.log('App running on port 3000');
});

module.exports = server;
Enter fullscreen mode Exit fullscreen mode

还创建一个测试文件夹和一个index-spec.js文件来测试我们的节点应用程序。

# index.spec.js

const expect = require('chai').expect
const server = require('../index');

describe('test', () => {
  it('should return a string', () => {
    expect('ci with travis').to.equal('ci with travis');
  });
});

Enter fullscreen mode Exit fullscreen mode

测试

NPM 脚本

通过运行这些脚本确保应用程序和测试正常运行。


"scripts": {
  "start": "node index.js",
  "test": "mocha"
}
Enter fullscreen mode Exit fullscreen mode

Travis 设置

在根目录中创建一个文件.travis.yml 。


language: node_js
node_js: 
  - "stable"
cache:
  directories:
    - "node_modules"
Enter fullscreen mode Exit fullscreen mode

上面提到的 .travis.yml 文件指示 Travis 构建哪些内容。语言选项可以是您应用运行的任何语言,而 "node_js": "stable" 表示 Travis 应该使用稳定版本的 Node.js。您还可以将 node_modules 目录缓存在 Travis 中,以避免每次触发构建时都安装所有依赖项,而是更新具有较新版本的软件包。更多可添加到此文件的选项,请点击此处

将 Travis 与 GitHub 集成

Travis 是一项持续集成 (CI) 服务,简单来说,就是一个自动化流程。Travis 与 GitHub 的典型工作流程如下:

* 将提交推送到 GitHub

* 触发 Travis 构建并检查测试是否通过。

特拉维斯·伊

Travis Build 设置

* 创建 GitHub 仓库并将项目文件夹推送到 GitHub。

* 将仓库添加到Travis 网站

* 进行更改并将提交推送到仓库。您应该会自动看到构建过程正在运行。

* 将 Travis 徽章添加到 GitHub 仓库中的 README.md 文件中。

结论
Travis CI 使软件开发更加高效。它确保您部署遵循良好实践的干净代码,并检测项目中的更改或重构是否会导致代码中存在错误或缺陷。

所有代码均可在Github repo上找到。

也欢迎您留下您的问题或想法的评论。

最初发布在我的博客上

文章来源:https://dev.to/lauragift21/setup-continuous-integration-with-travis-ci-in-your-nodejs-app-26i2
PREV
代码拆分详解
NEXT
我的工作流程和帮助我提高生产力的工具