用node.js写一个jenkins发版脚本

yizhihongxing

下面我来详细讲解“用node.js写一个jenkins发版脚本”的完整攻略。

1. 环境准备

在开始编写jenkins发版脚本之前,我们需要安装好node.js和jenkins。以下是安装步骤。

安装node.js

  1. 访问node.js官网,下载对应系统的安装包。
  2. 安装node.js。安装过程中按照默认设置一步步进行即可。

安装jenkins

  1. 访问官网,下载对应系统的安装包。
  2. 安装jenkins。安装过程中按照默认设置一步步进行即可。

2. 编写脚本

在安装好node.js和jenkins之后,我们可以开始编写脚本了。以下是脚本编写的步骤。

2.1 安装依赖

我们需要安装以下依赖,这些依赖可以让我们的脚本更加方便和快速地操作jenkins。

npm install jenkins-api request --save

2.2 code

下面是一个根据参数发起jenkins构建的代码示例。

const Jenkins = require('jenkins-api');
const request = require('request');

// jenkins连接参数
const jenkinsHost = 'http://yourJenkinsHost:8080';
const jenkinsUser = 'yourJenkinsUserName';
const jenkinsToken = 'yourJenkinsToken';
const jenkinsJobName = 'yourJenkinsJobName';
const jenkinsOptions = {
    timeout: 5000,
    promisify: true,
    headers: {
        'Authorization': 'Basic ' + Buffer.from(jenkinsUser + ':' + jenkinsToken).toString('base64')
    }
}
const options = {
    url: jenkinsHost + '/job/' + jenkinsJobName + '/build?token=' + jenkinsToken,
    method: 'POST',
    headers: {
        'Content-Type' : 'application/x-www-form-urlencoded'
    }
};

function startBuild() {
    return new Promise((resolve, reject) => {
        Jenkins.api(jenkinsHost, jenkinsOptions, (err, jenkins) => {
            if (err) reject(err);
            jenkins.build(jenkinsJobName, (err) => {
                if (err) reject(err);
                resolve('jenkins构建任务发起成功');
            });
        });
    });
}

async function build() {
    try {
        // 发起jenkins构建任务
        const result = await startBuild();
        console.log(result);

        // 取消jenkins构建任务
        setTimeout(() => {
            request(options, (err, res, body) => {
                if (body.match(/Queue item successfully cancelled/g)) {
                    console.log('jenkins构建任务已取消');
                } else {
                    console.log('jenkins构建任务取消失败,', body);
                }
            });
        }, 1000);
    } catch (error) {
        console.log(error);
    }
}

build();

2.3 示例说明

2.3.1 示例一

我们有一个node.js工程正在使用jenkins进行自动构建,但我们希望可以自行选择构建或取消构建。我们可以在项目的根目录下新建一个build.js脚本,通过执行这个脚本来实现自行选择构建或取消构建的功能。

2.3.2 示例二

我们有一个管理后台项目,项目部署在多台服务器上,每当需要部署新的版本时,我们需要一个一键发版的脚本来自动将代码打包并上传到指定服务器,最后再自动触发jenkins进行自动化部署。我们可以使用node.js编写一个发版脚本,集成了打包、上传、触发jenkins部署的功能。这个脚本可以在我们发布应用时大大减少发布的时间和工作量。

3. 总结

通过以上步骤,我们可以成功地用node.js写一个jenkins发版的脚本,而这个脚本也可以应用于我们的日常工作之中。在开发和生产环境中,都可以使用这个脚本进行自动化构建和部署。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:用node.js写一个jenkins发版脚本 - Python技术站

(0)
上一篇 2023年6月8日
下一篇 2023年6月8日

相关文章

  • JavaScript 用Node.js写Shell脚本[译]

    让我来详细讲解“JavaScript 用Node.js写Shell脚本[译]”的完整攻略。 什么是 Shell 脚本? Shell 脚本是一种运行在 Unix/Linux 系统上的脚本,用于自动执行一系列的命令或操作。通常用 Shell 脚本来完成常规的任务,如备份数据、自动部署应用程序等。 Shell 脚本通常是使用 Shell 编程语言编写的。Shell…

    node js 2023年6月8日
    00
  • Node.js实现注册邮箱激活功能的方法示例

    下面是 “Node.js实现注册邮箱激活功能的方法示例” 的完整攻略。 1. 前言 在我们开发一些网站应用时,常常需要实现用户注册,而为了避免有人随意使用网站,我们通常会要求用户进行邮箱激活。本篇攻略将介绍如何基于 Node.js 来实现注册邮箱激活功能。 2. 实现步骤 2.1 生成激活链接 在完成注册后,我们需要通过邮件向用户发送一封包含激活链接的邮件,…

    node js 2023年6月8日
    00
  • Node.js查询MySQL并返回结果集给客户端的全过程

    下面提供一个完整的“Node.js查询MySQL并返回结果集给客户端的全过程”。 步骤一:安装和配置 首先,在本地安装Node.js和MySQL服务。然后,使用npm安装mysql模块,它是连接到MySQL的标准Node.js库。可以在终端中运行以下命令进行安装: npm install mysql 接下来,在项目中引入mysql模块,以便使用它的API: …

    node js 2023年6月8日
    00
  • 使用apidocJs快速生成在线文档的实例讲解

    使用apidocJs快速生成在线文档的实例讲解 安装apidocJs 首先,我们需要在全局环境中安装apidocJs,就可以随时随地使用了。 在命令行中输入以下命令进行安装。 npm install -g apidoc 创建项目 要开始使用apidocJs生成在线文档,我们需要在项目目录中创建apidoc.json文件。 以下是一个示例apidoc.json…

    node js 2023年6月8日
    00
  • 详解NodeJS框架express的路径映射(路由)功能及控制

    接下来我将详细讲解NodeJS框架express的路径映射(路由)功能及控制的完整攻略。 路由 在Web应用程序中,路由是指将HTTP请求映射到处理程序的过程。Express框架提供了路由的功能,并且支持多种方式创建路由规则。 基本路由 最基本的路由就是将请求路径映射到处理函数上。这可以通过使用Express中的app.get()方法来实现。app.get(…

    node js 2023年6月8日
    00
  • node.js中的fs.realpath方法使用说明

    Node.js中的fs.realpath方法使用说明 什么是fs.realpath方法 在Node.js中,使用fs.realpath(path, options, callback)方法可以将一个传递的路径解析为一个规范的绝对路径。该方法还可以选择性地解析符号链接,并返回最终的路径。 如何使用fs.realpath方法 使用方法 fs.realpath()…

    node js 2023年6月8日
    00
  • vue在install时node-sass@4.14.1 postinstall:node scripts/build.js错误解决

    当在安装 Vue 时,如果遇到类似以下错误: node-sass@4.14.1 postinstall: `node scripts/build.js` 这是由于安装 node-sass 模块时,尝试编译原生模块失败导致的错误。在这种情况下,可以尝试以下步骤解决: 更新 node-sass 模块版本 可以通过安装最新版本的 node-sass 模块来解决问题…

    node js 2023年6月8日
    00
  • Node.js中创建和管理外部进程详解

    创建和管理外部进程在Node.js中是一项非常重要的任务。在某些情况下,你可能需要在Node.js中创建、启动并管理其他进程,例如使用Node.js在后台启动进程并与它们进行通信。这篇文章将为你提供创建和管理外部进程的攻略。 什么是子进程? 在计算机中,子进程是由父进程创建的进程。父进程可以控制进程的创建和销毁,并且可以向子进程发送命令和数据。 在Node.…

    node js 2023年6月8日
    00
合作推广
合作推广
分享本页
返回顶部