一文带你实现【Jenkins】自动化部署前端工程

在这里插入图片描述

  • 作者:一个在外讨生活的新时代农民工。
  • 博主主页: @佳庆
  • 所属专栏: Jenkins
  • 支持我: 点赞+收藏+留言。您的支持是我最大动力。

前言

本文主要讲解,使用Jenkins自动化部署前端工程。讲解怎么自动化部署前后的分离项目中的前端工程。

前提条件:

  • 本地需要Jenkins,如果你不知道怎么安装,可以看我的另外一篇文章。

废话不多说,开干!

NodeJS安装

因为前端项目需要NodeJs环境,所有我们需要安装NodeJS。
官网:下载 | Node.js 中文网

打开如下图所示,点击所有下载选项

进来后,选择一个Linux的压缩包版本。注意:这里下载的node版本一定要与前端人员沟通阿。我们这里用到是node-v16.19.1-linux-x64.tar.gz

打开我们的服务器,执行wget命令。

wget https://registry.npmmirror.com/-/binary/node/v16.19.1/node-v16.19.1-linux-x64.tar.gz

可以看见,正在下载了,如下图下载成功。

执行解压命令。此命令的意思是解压node-v16.19.1-linux-x64.tar.gz并且放到指定的/usr/etc/目录下。

tar zxvf node-v16.19.1-linux-x64.tar.gz  -C /usr/etc/

如下图解压成功。

环境配置

执行如下命令,修改环境变量文件

vim /etc/profile

在最后一行输入你按照node的位置

export NODE_HOME=/usr/etc/node-v16.19.1-linux-x64
export PATH=$PATH:$NODE_HOME/bin
export NODE_HOME

如下图配置。

环境变量生效,执行如下命令。

source /etc/profile

然后验证一下,如下图所示。

Npm安装淘宝镜像

因为官网的镜像源在国内会很慢,我们使用更换为淘宝的镜像源。

直接命令行的设置

npm config set registry http://registry.npmmirror.com

如果需要恢复成原来的官方地址只需要执行如下命令:

npm config set registry https://registry.npmjs.org

查看是否安装成功

npm config get registry

凭证配置

因为Jenkins实现自动化部署,需要先拉取代码,我们需要配置git的凭证,Jenkins可以通过此凭证拉取我们的代码。

需要打开系统管理->Manage Credentials

如下图所示,找到作用域添加我们的凭证。

选择类型为用户名密码类型。

填写用户名,密码。点击创建。 也可以选择ssh类型,你需要配置相关的ssh凭证,我这里直接用的用户名密码来做的。

Jenkins创建一个前端工程

配置带参数的,如下图所示。

一个String参数,参数名为branch,默认值为test,描述为构建的分支。

下面配置如想要用到此参数${branch},就能获取你输入的参数值了。

配置源码git

如下图所示,配置对应的仓库地址,凭证。

下面的分支用到了上面的参数化构建。使用${branch}

配置Build Steps

我们选择的是shell,通过shell命令去实现自动化部署。

source /etc/profile : 加载环境变量。让jenkins可以执行对应的npm命令。

npm install:安装依赖,这里也可以使用yarn安装。

rm -rf ./dist/*:#删除打包后的dist文件下的所有文件。

npm run build:#执行项目打包命令

cp -rf dist/ /web/web-ui:复制到指定的nginx映射的目录

#加载环境变量
source /etc/profile
#安装依赖
npm install
#删除打包后的dist文件
rm -rf ./dist/*
#执行项目打包命令
npm run build
# 复制到指定的nginx映射的目录
cp -rf dist/ /web/web-ui

开始构建

如下图所示,点击开始构建。

如出现报错,请看下面的npm报错解决。

如下图,构建成功了,我们的Jenkins自动化部署就完事了。

看一下日志,执行成功了。

npm报错解决

以下是个人实操中出现的报错。

npm ERR! network Socket timeout

超时,配置代理设置为falsa命令如下。

npm config set proxy false
npm ERR! Command failed: /bin/sh -c autoreconf -fiv

此命令找不到,我们给他安装一下。

yum install autoconf

autoreconf: failed to run aclocal: No such file or directory

缺少东西,我们安装一下automake,执行如下命令。

yum install automake

error: possibly undefined macro: AC_PROG_LIBTOOL

如出现上面错误,执行下面命令,安装libtool

yum install libtool
error: no nasm (Netwide Assembler) found

如出现上面错误,执行下面命令,安装nasm

yum install nasm

后记

Jenkins自动化部署前端工程,也不是很难,赶快学起来吧!!!!

后续会出一篇有关于Jenkins部署后端项目。

如果你有问题或者建议欢迎大家评论区讨论。

如对您有用,希望你可以点赞,收藏,评论,您的支持是我最大动力。

我们下期再见。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是用lgb模型进行6分类,并使用StratifiedKFold,评价指标为macro-f1的示例代码: ```python import lightgbm as lgb from sklearn.model_selection import StratifiedKFold from sklearn.metrics import f1_score # 假设数据集的特征矩阵为 X,标签为 y # 定义模型参数 params = { 'boosting_type': 'gbdt', 'objective': 'multiclass', 'num_class': 6, 'metric': 'multi_logloss', 'num_leaves': 31, 'learning_rate': 0.05, 'feature_fraction': 0.9, 'bagging_fraction': 0.8, 'bagging_freq': 5, 'verbose': -1, 'random_state': 2021 } # 定义StratifiedKFold交叉验证 n_splits = 5 skf = StratifiedKFold(n_splits=n_splits, shuffle=True, random_state=2021) # 定义输出变量 oof_preds = np.zeros(X.shape[0]) class_preds = np.zeros(X.shape[0]) # 开始交叉验证 for fold, (train_idx, valid_idx) in enumerate(skf.split(X, y)): print("Fold", fold+1) X_train, X_valid = X[train_idx], X[valid_idx] y_train, y_valid = y[train_idx], y[valid_idx] # 定义训练数据 lgb_train = lgb.Dataset(X_train, y_train) lgb_valid = lgb.Dataset(X_valid, y_valid) # 训练模型 model = lgb.train(params, lgb_train, valid_sets=[lgb_valid], num_boost_round=10000, early_stopping_rounds=100, verbose_eval=100) # 对验证集进行预测 valid_preds = model.predict(X_valid, num_iteration=model.best_iteration) oof_preds[valid_idx] = valid_preds.argmax(axis=1) class_preds[valid_idx] = valid_preds.max(axis=1) print("-" * 50) # 输出交叉验证结果 macro_f1 = f1_score(y, oof_preds, average='macro') print("Overall Macro-F1:", macro_f1) ``` 在这个示例中,我们使用了sklearn中的f1_score函数来计算macro-f1。在计算f1_score时,需要将参数average设为'macro'。最终输出结果为整个数据集上的macro-f1。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值