更新时间:2023-11-28 GMT+08:00
分享

使用NPM构建上传软件包

场景概述

编译构建服务支持通过yaml文件配置构建脚本,用户可以将构建时需要配置的构建环境、构建参数、构建命令、构建步骤等操作,通过yaml语法编写成build.yml文件实现,并且将build.yml文件和被构建的代码一起存储到代码仓库。执行构建任务时,系统会以build.yml文件作为构建脚本执行构建任务,使构建过程可追溯、可还原,安全可信。本节以使用Npm构建为例。

前提条件

已有可用项目,如果没有,请新建项目

新建代码仓

  1. 使用华为云账号登录软件开发生产线首页。
  2. 单击需要创建代码仓的项目名称。
  3. 在页面左侧目录中选择代码 > 代码托管,如图1所示。

    图1 代码托管

  4. 单击“普通新建”
  5. 根据表1填写参数,单击“确定”

    表1 新建代码仓

    参数名称

    参数说明

    代码仓库名称

    自定义代码仓名称。例如:npm_yml_build。

    • 以数字、字母或者“_”开头。
    • 可包含“.”“-”
    • 不能以“.git”“.atom”或者“.”结尾。

    描述

    对代码仓的描述。

    选择gitignore

    根据编程语言选择“.gitignore”,例如:Java。

    权限设置

    勾选全部。

    • 允许项目内人员访问仓库:选择后会自动将项目中的项目经理设为仓库管理员,开发人员设为仓库普通成员。当项目新增这两个角色时,也会自动同步到已经存在的仓库中。
    • 允许生成README文件:可以通过编辑README文件,记录项目的架构、编写目的等信息,相当于对整个仓库的一种注释。
    • 自动创建代码检查任务(免费):仓库创建完成后在代码检查任务列表中,可看到对应仓库的检查任务。

    是否公开

    设置为“私有”

    • 私有:仓库仅对仓库成员可见,仓库成员可访问仓库或者提交代码。
    • 公开只读:仓库对所有访客公开只读,但不出现在访客的仓库列表及搜索中,您可以选择开源许可证作为备注。

创建build.yml文件

  1. 在页面导航中选择代码 > 代码托管
  2. 单击新建代码仓中创建的代码仓名称。
  3. 单击新建 > 新建目录,如图2所示。

    图2 新建目录

  4. 根据表2填写参数信息,单击“确定”

    表2 新建目录

    参数名称

    参数说明

    目录名称

    可自定义,例如“.cloudbuild”

    提交信息

    目录的备注信息,用于记录该文件夹文件的描述信息。

  5. 单击步骤4创建的目录名称。
  6. 单击新建 > 新建文件,如图3所示。

    图3 新建文件

  7. 文件命名为“build.yml”,将如下代码拷贝到文件中。

    # This YAML is the default template and can be modified based on this 
    ---
    version: '2.0'
    steps:
      BUILD:
        - npm:
            inputs:
              #check: 
                #project_dir: .
              command: |
                export PATH=$PATH:~/.npm-global/bin
                #设置缓存目录
                npm config set cache /npmcache
                npm config set registry http://mirrors.tools.huawei.com/npm/
                npm config set disturl http://mirrors.tools.huawei.com/nodejs
                npm config set sass_binary_site http://mirrors.tools.huawei.com/node-sass/
                npm config set phantomjs_cdnurl http://mirrors.tools.huawei.com/phantomjs
                npm config set chromedriver_cdnurl http://mirrors.tools.huawei.com/chromedriver
                npm config set operadriver_cdnurl http://mirrors.tools.huawei.com/operadriver
                npm config set electron_mirror http://mirrors.tools.huawei.com/electron/
                npm config set python_mirror http://mirrors.tools.huawei.com/python
                npm config set prefix '~/.npm-global'
                npm install --verbose
                zip -r ./nodeserver.zip ./
        - upload_artifact:
            inputs:
              path: "./nodeserver.zip"

  8. 单击“确定”

创建package.json文件

  1. 在根目录下,参考步骤6步骤7,创建名为“package.json”的文件。文件中代码如下:

    {
    "name": "docker_web_app",
    "version": "1.0.0",
    "description": "Node.js on Docker",
    "author": "First Last <first.last@example.com>",
    "main": "server.js",
    "scripts": {
    "start": "node server.js"
    },
    "dependencies": {
    "express": "^4.16.1"
    }
    }
    

  2. 单击“确定”

创建server.js文件

  1. 在根目录下,参考步骤6步骤7,创建名为“server.js”的文件。文件中代码如下:

    'use strict';
    const express =require('express');
    // Constants
    const PORT=8080;
    const HOST='127.0.0.1';
    // App
    const app =express();
    app.get('/',(req, res)=>{  
    res.send('Hello world\n');
    });
    app.listen(PORT,HOST);
    console.log(`Running on http://${HOST}:${PORT}`);

  2. 单击“确定”

创建构建任务

  1. 在页面导航中选择持续交付 > 编译构建,如图4所示。

    图4 编译构建首页

  2. 单击“新建任务”
  3. 根据表3填写参数信息。

    表3 基本信息配置

    参数名称

    参数说明

    任务名称

    自定义任务名称,例如:npm_yml_build。

    源码源

    选择“Repo”

    源码仓库

    选择新建代码仓中创建的代码仓库名称。

    分支

    选择新建代码仓中创建的分支,若没有创建,选择默认“master”即可。

    任务描述

    对该构建任务的描述。

  4. 单击“下一步”
  5. 选择“空白构建模板”,单击“下一步”
  6. 单击“代码化”页签,可查看到导入的构建脚本,如图5所示。

    图5 代码化页签

  7. 单击页面右上角的“新建并执行”

查看并验证构建结果

  1. 选择页面导航栏制品仓库 > 软件发布库
  2. 在软件发布库查看发布的软件包。软件包与创建构建任务时的任务名称一致,如图6所示。

    图6 查看软件包

分享:

    相关文档

    相关产品