jenkins的war包安装部署及应用说明

2,046 阅读4分钟

此文档以Jenkins 2.387.1版本为基础。

一、安装部署

1.1 下载

使用war安装,直接下载war包进行部署;

官方jenkins下载地址:www.jenkins.io/download/

直连地址:get.jenkins.io/war-stable/…

1.2 部署环境

硬件要求建议,下面摘自官网:

注意环境要求需要:

  • OpenJDK JDK / JRE 11 - 64 bits
  • OpenJDK JDK / JRE 17 - 64 bits

如果使用jdk8 在运行的时候会启动不了。

这里目前使用的jdk17,下载地址:www.oracle.com/java/techno…

1.3 运行

使用: java -jar jenkins.war

建议自定义脚本nohup后台启动。

启动时如果报错:Cannot load from short array because "sun.awt.FontConfiguration.head" is null

解决方案:

yum install fontconfig
fc-cache --force

url地址: http://localhost:8080

如果想修改访问参数如端口号:java -jar jenkins.war --httpPort=9090

通过命令help查看更多参数:java -jar jenkins.war --help

如果想自定义环境变量可以设置JENKINS_HOME:

set JENKINS_HOME=my-jenkins-config //jenkins生成的自定义目录可以在此目录查看,否则会默认生成在当前用户的 .jenkins 目录下面。

1.4 激活

通过地址访问页面时会出来下面的访问页面,可以通过它提供的文件去cat下密码或者直接在打印的日志中复制密码过来激活。

1.5 插件配置

插件配置,如果不清晰自己想安装哪些插件,可以直接使用推荐配置进行下一步。

如果有些插件后面需要使用可以在:配置管理-》插件管理里面进行安装;

常用的java后台项目环境需要插件:maven,git ,publish over ssh

常用的前端项目打包插件:nodejs

maven和nodejs环境也可以使用的本地服务器环境,把它配置到服务器的环境即可。

二、应用配置

2.1 系统配置

在publish over ssh中添加需要管理的ssh server,用于应用部署:

2.2 全局工具配置

maven:

jdk使用系统默认的即可:

git可以自己在服务器安装,找到bin目录:

安装git:yum install git

nodejs

这里注意也可以在本地安装nodejs并使用,如果使用本地环境则此处的nodejs可以不用配置,且在配置前端配置任务时可以不用配置nodejs环境(因为它会默认读取本地环境);

使用nodejs打包前端应用时,需要注意pnpm在ci/cd时会有bug打包存在问题,可以使用其他打包方式如:npm/cnpm

2.3 gitlab仓库凭证

需要连接gitlab仓库,首先需要添加下凭证,这里建议使用密钥SSH Username with private key凭证;

  1. 你可以按如下命令来生成 sshkey:

    ssh-keygen -t rsa -b 2048 -C""

  2. 按照提示完成三次回车,即可生成 ssh key。通过查看 ~/.ssh/id_rsa.pub 文件内容,获取到你的 public key

    cat ~/.ssh/id_rsa.pub

  3. 复制生成后的 ssh key,添加到gitlab项目中。

三、任务构建

3.1 创建任务

genneral

可以添加参数进行构建,在使用时可以通过变量获取:

git源码管理

也可以在高级中配置超时时间:

构建触发器

选择触发时机:

在高级中别忘了生成密钥在gitlab中配置:

当gitlab中有push操作时会推送到jenkins服务器触发构建;

需要在gitlab中的webhook中进行配置:

构建环境

image.png

构建步骤

java项目使用maven打包,如果是前端包则使用shell脚本配置打包即可:

构建后操作

查看控制台输出结果: image.png


3.2 前端配置需要nodejs环境

如果用的是本地nodejs环境此处可以不用配置。

3.3 验证

在webhooks中点击tes触发push event即可:

成功触发会响应200:

查看jenks中的构建历史记录及部署环境验证。

四、常见问题

  1. 执行sh脚本出现jps不可使用

cd /usr/bin

ln -s -f /jdk/bin/jps jps

  1. java.io.IOException: Cannot run program "mvn" (in directory "/

配置了mvn环境后需要重启jenkins分支监测不到mvn命令

  1. node: /lib64/libm.so.6: version `GLIBC_2.27' not found

版本太高

  1. linux打包出现过element-ui样式问题 package.json锁定某一个版本号(如果不锁定的话,可以用npm ci试下,ci需要package-lock文件哦)

  2. linux打包大小写敏感问题 webpach有一个大小写敏感插件[case-sensitive-paths-webpack-plugin],排查问题所在