1. 简介
Jenkins是一个开源的自动化构建工具,支持以Java、Ruby、python等语言编写脚本完成自动化构建、自动化部署和自动化测试。AngularJS是一个前端开发框架,能够使我们更加容易地开发SPA应用。本文将介绍如何使用Angular+Jenkins实现自动构建和版本查看。
2. Jenkins构建Angular应用
2.1 安装Jenkins
使用Jenkins自动构建Angular应用需要先安装Jenkins。Jenkins是基于Java开发的,所以需要先安装Java环境。安装方式可以参考官方文档:https://www.jenkins.io/doc/book/installing/。
安装完成后,使用浏览器打开Jenkins地址,输入初始管理员密码,按照向导完成Jenkins的安装设置。
2.2 安装插件
安装完成Jenkins后,需要安装一些插件。在Jenkins的dashboard上点击“Manage Jenkins”->“Manage Plugins”,进入插件管理页面。选择“Available”标签页,在搜索框中输入“NodeJS Plugin”并找到它,勾选它并点击“Install without restart”按钮进行安装。
2.3 配置Node.js环境
在插件安装完成后,我们需要配置Node.js环境,使得Jenkins能够在构建过程中使用它。
在Jenkins的dashboard上,点击“Manage Jenkins”->“Global Tool Configuration”,进入全局工具配置页面。找到Node.js配置项,点击“Add NodeJS”按钮,配置NodeJS的名称和版本,点击“Save”。
配置完成后,我们需要在Jenkins的每个构建任务中配置Node.js版本。在任务配置页面中,找到Node.js配置项,选择之前配置的Node.js版本。
2.4 配置构建任务
配置完环境后,我们需要创建一个构建任务。在Jenkins的dashboard上点击“New Item”,输入任务名称,选择“Freestyle project”类型,并点击“OK”按钮。
在任务配置页面中,配置源码管理。选择Git作为源码管理工具,在repository url中输入仓库地址,在credentials中输入访问仓库的用户名和密码。
在构建触发器中,勾选“Build when a change is pushed to GitHub”选项,这样每当有代码提交到仓库时,Jenkins就会自动构建应用。
配置构建环境。在构建环境中,勾选“Provide Node & npm bin/folder to PATH”选项,这样Jenkins就能将Node.js和npm添加到PATH。
在构建步骤中,添加构建命令。将以下命令添加到构建步骤中:
npm install -g @angular/cli
npm install
ng build --prod
这样Jenkins在每次构建时都会执行以上三个命令,便完成了Angular应用的自动构建。
3. Angular部署到服务器
3.1 配置服务器
在将Angular应用部署到服务器之前,需要先配置服务器环境。安装Node.js和nginx,并配置好nginx的虚拟主机。
3.2 部署Angular应用
将构建生成的dist目录中的所有文件复制到服务器的ngnix虚拟主机的根目录下。在nginx的配置文件中,配置好访问地址。重新启动nginx即可。
4. 利用Angular展示版本信息
一个应用有多个版本,每个版本都有自己的变化和特性。我们需要一个简单的页面展示应用的版本信息。下面介绍如何使用Angular实现这个功能。
5. 配置路由
我们需要将版本信息页面添加到应用中。我们可以添加一个路由,当访问特定的URL时就会显示版本信息页面。
在Angular项目中打开app.module.ts,导入RouterModule:
import { RouterModule, Routes } from '@angular/router';
我们需要定义一个路由。在app.module.ts中,定义一个routes数组,并将路由路径和组件名添加到数组中:
const routes: Routes = [
{ path: 'versions', component: VersionsComponent }
];
这里我们定义了一个路由,路径为versions,组件名称为VersionsComponent。这样当用户访问/versions路径时,Angular就会展示VersionsComponent组件。我们还需要将路由添加到RouterModule中:
imports: [
BrowserModule,
RouterModule.forRoot(routes)
],
6. 创建版本组件
这个组件负责展示应用的版本信息。在Angular项目的目录下,创建一个新的component,将其命名为Versions:
ng generate component versions
执行以上命令将会创建一个版本组件,并且自动将组件添加到app.module.ts文件中。打开versions.component.ts文件,添加一个versions数组:
versions = [
{ version: '1.0.0', releaseDate: '2021-01-01', features: ['Feature 1', 'Feature 2'] },
{ version: '1.1.0', releaseDate: '2021-02-01', features: ['Feature 3', 'Feature 4'] },
{ version: '2.0.0', releaseDate: '2021-03-01', features: ['Feature 5', 'Feature 6'] }
];
这里我们定义了一个版本数组。每个版本对象有三个属性:版本号、发布日期和特性数组。这些信息可以从构建日志中获取。
7. 创建版本模板
打开versions.component.html文件,添加一个table元素和table header,然后用ngFor指令循环展示每个版本的信息:
<table class="table table-striped">
<thead>
<tr>
<th>版本</th>
<th>发布日期</th>
<th>特性</th>
</tr>
</thead>
<tbody>
<tr *ngFor="let version of versions">
<td>{{version.version}}</td>
<td>{{version.releaseDate}}</td>
<td>
<li *ngFor="let feature of version.features">{{ feature }}</li>
</td>
</tr>
</tbody>
</table>
我们使用了Angular的ngFor指令遍历versions数组,并将数据渲染到模板中。这样我们就可以动态展示版本信息了。
8. 总结
本文介绍了如何使用Angular和Jenkins完成自动构建和版本信息的展示。Jenkins自动构建能够大大提高开发效率,而版本信息的展示能够让用户更加清晰地了解应用的变化和特性。希望本文对大家有所帮助。