资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

如何利用Angular+Jenkins展示构建版本

今天小编给大家分享一下如何利用Angular+Jenkins展示构建版本的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

创新互联成立与2013年,先为金坛等服务建站,金坛等地企业,进行企业商务咨询服务。为金坛企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

如何利用Angular+Jenkins展示构建版本

如下:

如何利用Angular+Jenkins展示构建版本

Uha,我们在原基础上修改下。

根目录添加文件 build_info.json

{ }

你没看错,build_info.json 的内容就是 {}

build_info.json 文件是给 Jenkinsfile 构建的时候生成的。

具体的实现思路如下:

  • 在构建的过程中执行 Jenkinsfile 生成 build_info.json 文件

  • 在对项目打包的时候,针对不同的环境考虑是否获取 build_info.json 文件的内容

为了方便演示,这里的环境只考虑生产环境

上面的步骤简单两步,最重要的一点是如何写入 build_info.json 文件内容

如果你不熟悉 Jenkinsfile 相关内容,请结合Jenkins Pipeline 结合 Gitlab 实现 Node 项目自动构建文章来阅读。此时你关注的重点是文章 Jenkinsfile 的内容,如下:

pipeline {
    agent any
    
    tools { 
        nodejs "nodejs" 
    }
    
    stages {
        stage('Dependency') {
            steps {
                sh 'npm install'
            }
        }
        # 我们在此添加过一个 stage,见下面?
        stage('Build') { 
            steps {
                sh 'npm run clean' 
                sh 'npm run build' 
            }
        }
    }
}

我们添加过一个 stage 来完成我们对 build_info.json 文件的写入。

stage('Version') {
  steps {
    script {
      def amap = 
        'build_number': BUILD_NUMBER, # 构建号
        'job_name': JOB_NAME # 任务名称
      ]
      
      # 写入文件
      writeJSON file: WORKSPACE+'build_info.json', json: amap # WORKSPACE 根目录
    }
  }
}

Yeah,思路还可以... Right?

下面进入第二步骤:读取 build_info.json 的内容,我截取 version.js 生产环境那部分的内容:

// 引入生成的 build_info.json 文件
let buildInfo = require('./build_info.json');

if(config.env === 'production') { 
    // 获取构建的版本号,否则获取默认的版本
    versionObj.version = buildInfo.build_number || config.version 
}

完成上面的文件之后,你就可以发布到相关的环境,顺利的话,在页面上你可以看到相关的版本号了。

以上就是“如何利用Angular+Jenkins展示构建版本”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注创新互联行业资讯频道。


新闻名称:如何利用Angular+Jenkins展示构建版本
URL标题:http://www.cdkjz.cn/article/jojjig.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220