首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

为 Bluemix 上运行的 Node.js 应用程序自动收集法律报告(1)

为 Bluemix 上运行的 Node.js 应用程序自动收集法律报告(1)

发布新的软件版本之前,开发人员和发布经理需要确保软件中包含的所有库(依赖项)已被授权用于商业用途。构建 Node.js                应用程序时,您可能使用数十个外部库,每个库都有不同的许可条款。收集所有这些库的信息可能很痛苦而且很耗时。本文介绍如何自动完成这些任务,并生成项目中所用全部依赖项的列表:列表中包含依赖项所遵守的许可,以及可在哪个网站或存储库中找到它们。
您需要满足的条件
  • 一个 Node.js 应用程序
  • 最新版本的 Node 包管理器 (npm)(Node.js 已安装 npm,但 npm 的更新频率比 Node.js                    高,所以请确保您拥有最新的版本。)
  • IBM® Bluemix™ DevOps Services 管道
  • Grunt,JavaScript 任务运行程序(0.4.5 版或更高版本)
备注:本文选择 IBM Bluemix DevOps Services 作为例子,但是您可将同样的 Grunt                任务轻松集成到 Jenkins 作业中。您也可以修改我们所创建的代码,从而在 Gulp 中运行它,或者在 Grunt                以外的任何其他任务自动化框架中运行它。
第 1 步. 设置 Grunt如果已设置好 Grunt,可跳到下一步。如果项目中还不包含 Grunt,可执行以下步骤设置它。您需要 Grunt 的命令行接口 (CLI) 和                Grunt Node 模块。
  • 要安装 Grunt 的 CLI,可在项目的根文件夹运行以下命令。您可能需要使用 sudo(对于                    OSX、Linux®、BSD 等)或以管理员身份(对于 Windows®)运行命令。要将                        grunt 命令放到系统路径中,并允许从任何目录运行它:
    1
    npm install -g grunt-cli




  • 安装 Grunt CLI 不会将 Grunt 任务运行程序安装在您的项目中。要将它添加到项目中,可运行以下命令。这会将 Grunt 添加到                    package.json 依赖项文件中并将其作为一个开发依赖项。
    1
    npm install grunt --save-dev




  • 创建一个 Gruntfile.js 文件。这应该是一个有效的 JavaScript 文件,与 package.json                        文件一起位于项目的根目录中,而且应与项目源代码一同提交。下面一个 Gruntfile.js                        文件示例:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    module.exports = function(grunt) {

      grunt.initConfig({
        pkg: grunt.file.readJSON('package.json')
      });

      grunt.registerTask('default');

    };




第 2 步.                创建一个执行许可任务的脚本为项目设置好 Grunt 后,创建一个新的 Grunt 任务文件来包含由 Grunt 执行的自定义代码。
  • 在项目的根目录下创建一个名为 build_tasks 的文件夹,在此文件夹中创建一个名为 licenses.js 的文件。
  • 将您的自定义 Grunt 任务放在这个文件中。就现在而言,可使用下面这个 licenses.js 文件。
    1
    2
    3
    4
    5
    6
    7
    8
    9
    module.exports = function (grunt) {

        'use strict';

        grunt.registerTask('example', 'Example task', function () {

        });

    };




  • 上面的代码注册一个可从 Gruntfile.js 调用的简单任务。为此,需要修改 Gruntfile.js,将这些任务加载到最近创建的                    build_tasks 文件夹中。
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    npm install grunt --save-dev
    module.exports = function(grunt) {

      grunt.initConfig({
        pkg: grunt.file.readJSON('package.json')
      });

      grunt.task.loadTasks('build_tasks');

      grunt.registerTask('default', ['example']);

    };




  • 要测试它是否有效,可在命令行中从项目的根目录运行                        grunt。应该看到以下输出:
    1
    2
    3
    Running "example" task

    Done, without errors.




返回列表