使用jenkins进行项目部署

2023-11-08

前言

由于近期接手了前端的项目,在项目打包部署的时候,手动操作构建打包部署等等步骤非常繁琐,所以自己尝试使用jenkins帮助自己解决这一烦恼。之前有用过,但只是使用而已。这次借机自己搭建配置一下,本以为很简单但是在自己使用的过程也多多少少遇到了几个坑。接下来本篇文章就以部署前端项目为例展开讲解一下。

一、安装jenkins

可以查看我之前的文章:jenkins详细安装教程

二、按照必要插件

  1. 点击系统管理->插件管理->可选插件
    需要安装两个插件
[NodeJS Plugin](用于构建前端项目使用)
[Publish Over SSH](用于把项目部署的远程服务器使用)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-260a0Nvh-1614666306788)(/img/bVcO6Sz)]

三、插件配置

1、[NodeJS Plugin]:点击系统管理->全局工具配置
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-biLoq6Pi-1614666306790)(/img/bVcO6S2)]

2、[Publish Over SSH]:点击系统管理->系统配置
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ArMKKZmA-1614666306792)(/img/bVcO6TV)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-h5lxUTVp-1614666306794)(/img/bVcO6T4)]

  • 进入jenkins服务器配置公钥和私钥
ssh-keygen -t rsa
  • 一路回车会在当前用户目录下,生成ssh文件里面的id_rsa 就是私钥,id_rsa.pub就是公钥
  • id_rsa.pub就是公钥里的内容复制到远程服务器(例如:47.104.36.36)的~.ssh/.ssh/authorized_keys中
vi .ssh/authorized_keys

四、新建任务

1、填入描述
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-phocyrfR-1614666306796)(/img/bVcO6UJ)]

2、配置git,进入任务配置,选择源码管理
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jFmFwevF-1614666306797)(/img/bVcO6UT)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-04D4kiOX-1614666306798)(/img/bVcO6Vd)]

3、设置构建环境,选择 Provide Node & npm bin/ folder to PATH 然后选择之前安装插件时候配置的node版本
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pw0uRYoC-1614666306799)(/img/bVcO6Ve)]

4、构建,增加构建步骤选择Excute shell
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8I8sMATn-1614666306801)(/img/bVcO6VK)]

node -v
npm install
npm run build
tar -czvf dist.tar.gz dist

5、构建后操作,增加构建后操作步骤选择Send build artifacts over SSH
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mnqDihSi-1614666306802)(/img/bVcO6VQ)]

cd /data/www/wwwroot/test
tar -zxvf dist.tar.gz
rm -rf dist.tar.gz

6、保存后点击“立即构建”查看任务是否构建完成

遇到的几个坑

  • 配置好秘钥后连接点击测试连接报错,报错提示
jenkins.plugins.publish_over.BapPublisherException: Failed to add SSH key. Message [invalid privatekey: [B@60373f7]

因为我们生成密钥的openssh的版本过高的原因,解决办法如下:重新执行以下命令生成新的秘钥,使用新生成的秘钥即可

ssh-keygen -m PEM -t rsa -b 4096
  • 拷贝ssh公钥到 authorized_keys 后仍然无法免密登录解决方法
    解决办法:
分别修改修改.ssh目录的权限以及authorized_keys 的权限
chmod 644 ~/.ssh/authorized_keys

chmod 700 ~/.ssh
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用jenkins进行项目部署 的相关文章

随机推荐

  • 如何在visio中画虚线框以及如何解决将visio图形复制到word文档中虚线变为实线的问题

    这两个问题都不是什么复杂的事情 但是如果对visio用的不多或者只是临时用起来碰到了这种问题还真是麻烦事儿 问题1 如何在visio中画虚线框 在上方的按钮中找到矩形工具那个按钮 对 点一下就可以在作图区画出来一个矩形了 可是这个矩形默认的
  • Ubuntu20.04部署GitLab

    安装 更新本地包 安装相关依赖 sudo apt update sudo apt install ca certificates curl openssh server postfix 安装postfix 邮件服务器 时可能出现激活gitl
  • 【开发工具】配置环境变量

    配置环境变量目录 一 环境变量的作用 二 环境变量的配置 一 环境变量的作用 当系统运行一个程序时 除了在当前目录下面寻找此程序外 还会到环境变量中的指定路径寻找 所以将程序的路径设置到环境变量 可以让程序在计算机的任意位置都可以运行 二
  • set-ExecutionPolicy‘ 不是内部或外部命令,也不是可运行的程序 或批处理文

    set ExecutionPolicy 不是内部或外部命令 也不是可运行的程序 或批处理文 1 打开Windows PowerShell ISE 在搜索框内搜索windows powershell ise 然后右击以管理员身份运行 2 输入
  • 315-Leetcode 希尔排序

    希尔排序也叫缩小增量 算法描述 希尔排序是间隔式的分组 5 3 1 利用直接插入排序进行排序 通过缩小分组 排序 再分组 再排序 直到缩为1组 完全有序为止 一趟希尔排序 gap为组数 间隔 分为5组 间隔数就是5 分为3组 间隔数就是3
  • sqlServer 常用查询语句

    查询语句 select 字段 from 表名 where 条件 select 字段 from 表名 where 字段 like 值 select distinct 字段 from 表名 排序查询 select 字段 from 表名 wher
  • 金山卫士开源软件之旅(九) KUI高级界面(列表控件、树控件例子、超文本、网页控件)

    转载自 http blog csdn net b2b160 article details 6275839 reply 注意 作者的例子及代码是基与上一版本的金山库 XML的语法及有些API名字不一样 本篇开始介绍比较复杂的界面应用了 界面
  • MySQL -- 获取某一字段数据的后几位! (SUBSTRING)

    select SUBSTRING id 3 from user 取id字段后三位字符 select SUBSTRING id 3 from user 从左开始第3位取 包括第三位
  • 文本标注平台 doccano 安装教程

    doccano简介 doccano 是一个开源的文本注释工具 它为文本分类 序列标记和序列到序列任务提供注释功能 因此 可以为情感分析 命名实体识别 文本摘要等创建标记数据 只需创建一个项目 上传数据并开始注释 安装 本文是基于window
  • HMM的学习

    20201012 0 引言 在学习 异常点检测 这本书的时候 在第十章的内容 离散数据的异常检测 记录中 涉及到隐马尔可夫模型 HMM 的学习 本篇文章具体记录HMM的学习过程 因为 异常点检测 书中关于这部分内容过于简短 本文主要学习文章
  • 有序单链表转换成二叉平衡搜索树

    题目 Given a singly linked list where elements are sorted in ascending order convert it to a height balanced BST 关键词 有序单链表
  • hibernate 注解 ,视图无主键,怎么配置联合主键

    我之前用myeclipse 反向生成了2个pojo 但是hql查询有问题 生成的类 Service类 我传入一个值查询的时候 这好像是我底层的 sessionFactory getCurrentSession createQuery hql
  • decimals数据格式化

    文章目录 decimals数据格式化 1 保留小数 1 1 iOS 2 去除小数点后多余的 0 2 1 iOS 2 2 C decimals数据格式化 格式化数据 以便移动端UI显示 1 保留小数 无小数部分 则保留整数 有小数部分保留两位
  • soul 网关源码解析

    一 soul网关引入的依赖分析 从上图可以看到我红线划分五个依赖区域 1 soul common包 这里不是很重要 我们大概看一下他的作用就好了 从上图中可以看出 这个包里主要定义了一个常量 枚举类 配置类 自定义的DTO对象 2 soul
  • CSS背景靠右对齐,并且背景图片右边刘10px

    margin right 10px float right 或者 Background Image url 图像路径 X坐标 Y坐标 no repeat 或者 padding right 10px float right
  • Qt -- 14Lambda表达式和信号功能

    视频学习链接 https www bilibili com video BV1g4411H78N p 14 在Qt中 使用Lambda表达式配合信号使用 非常方便 Lambda表达式是C 11中最重要的新特性之一 在QT5 4 包括 以前的
  • 从零开始学前端(三)

    上一篇我们已经写了一个带图片的网页 我们接着练一下其他的常用标签 声明为 HTML5 文档 元素是 HTML 页面的根元素 元素包含了文档的元 meta 数据 如 定义网页编码格式为 utf 8
  • 2023面试真题之浏览器篇

    人生当中 总有一个环节 要收拾你一下 让你尝一尝生活的铁拳 大家好 我是柒八九 今天 我们继续2023前端面试真题系列 我们来谈谈关于浏览器的相关知识点 如果 想了解该系列的文章 可以参考我们已经发布的文章 如下是往期文章 文章list 2
  • Conflux Studio 安装教学

    在 Conflux Studio 详解 中 烤仔从安装 教程 功能预览三个方面向大家介绍了 Conflux Studio 本次 由黑曜石实验室的 CEO Phil 向大家展示如何使用 Conflux Studio 进行一个完整的 Confl
  • 使用jenkins进行项目部署

    前言 由于近期接手了前端的项目 在项目打包部署的时候 手动操作构建打包部署等等步骤非常繁琐 所以自己尝试使用jenkins帮助自己解决这一烦恼 之前有用过 但只是使用而已 这次借机自己搭建配置一下 本以为很简单但是在自己使用的过程也多多少少