【Jenkins】在linux上通过Jenkins编译gitee项目

news2025/1/16 1:09:55

        因项目需求近期在linux服务器上部署了Jenkins来自动编译gitee上的项目源码,期间踩到了一些坑,花费了不少时间来处理,特此记录。

所需资源下载列表:

Jenkins :https://mirrors.tuna.tsinghua.edu.cn/jenkins/war/2.469/jenkins.war

JDK17:https://mirrors.huaweicloud.com/openjdk/17.0.2/openjdk-17.0.2_linux-x64_bin.tar.gz

maven: https://dlcdn.apache.org/maven/maven-3/3.9.8/binaries/apache-maven-3.9.8-bin.tar.gz

一、JDK安装

首先安装JDK17,选择目录直接解压即可,命令如下:

tar -zxvf file.tar.gz

解压后不能在命令行 通过 "java" 命令来访问,需要添加到环境变量并设置JAVA_HOME变量。添加到环境变量和取消命令如下:

echo 'export PATH=$PATH:/root/jdk/jdk-11.0.2/bin' >> ~/.bashrc
# 添加
echo 'export JAVA_HOME=/root/jdk/jdk-11.0.2/bin/' >> ~/.bashrc
source ~/.bashrc


# 取消环境变量
echo 'unset JAVA_HOME' >> ~/.bashrc

在命令行输入:java --version  看能否正常显示。

二、启动Jenkins 遇到的问题

报错无法启动:java.lang.NullPointerException: Cannot load from short array because "sun.aw

解决办法: yum install fontconfig   不知道为什么这样能解决

启动命令: nohup java -jar jenkins.war --httpPort=1234 &

如果不指定端口后则默认使用8080端口

三、设置maven环境

解压到目录,添加到path环境变量即可。

echo 'export PATH=$PATH:/root/jdk/apache-maven-3.9.8/bin' >> ~/.bashrc
source ~/.bashrc

在命令行输入:mvn--version  看能否正常显示。

四、安装git

这个比较简单, 直接  yum install git 即可 

五、Jenkins必要插件安装

①安装推荐的全部插件

② git param 插件 ,参数化编译选择参数使用

③jersey插件,用来存储 凭据

六、配置Jenkins

①设置 shell路径,/bin/sh

②设置jdk路径

③设置环境变量path,在控制台输入 echo $PATH 即可。 这个用来 编译项目使用的,而非启动Jenkins 使用 

六、参数验证

新建自由风格的编译项目,选择执行shell 脚本 ,输入测试脚本

java --version
mvn --version
git --version
# 如果需要前端环境
node --version
npm --version

如果显示正常,就可以配置项目了

七、配置gitee项目

遇到的问题:  在输入凭据的时候 只能选择 输入用户名和密码,不能通过其他方式否则添加后选择不到,在这花费很多时间,还以为是缺少插件或者是其他地方配置,结果是只能用户名和密码来输入凭据!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1968232.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

文件系统 --- 重定向,缓冲区

序言 本篇文章的内容和上一篇文章 👉点击查看 紧密相连,所以为了更好的理解本篇文章,需要大家将前置知识准备好哦😇。  本文主要向大家介绍文件的重定向,以及基于用户级别的缓冲区和基于操作系统级别的缓冲区。原来看…

AI技术和大模型对人才市场的影响

012024 AI技术和大模型 2024年AI技术和大模型呈现出多元化和深入融合的趋势,以下是一些关键的技术方向和特点: 1. 生成式AI 生成式AI(Generative AI)在2024年继续快速发展,它能够创造全新的内容,而不仅仅…

Redis——有序集合

目录 1. 添加元素 ZADD 2. 查看全部元素 ZRANGE 3. 查看某个元素的分数 ZSCORE 4. 查看元素的排名 ZRANK SortedSet 也叫 ZSet ,即有序集合, 有序集合与集合的区别: 有序集合的每个元素都会关联一个浮点类型的分数,依赖该分数的的大小对…

《Milvus Cloud向量数据库指南》——多模态融合新纪元:音频、视频与文本的无缝转换

在探讨多模态数据处理与应用的广阔领域中,多模态文本、音频、视频数据的融合与交互成为了近年来人工智能研究的热点之一。这一趋势不仅推动了技术的深度发展,也为众多行业带来了前所未有的创新机遇。本文将深入剖析多模态文本-音频与多模态文本-视频RAG(Retrieval-Augmented…

书生大模型基础岛-第三关:LangGPT结构化提示词编写实践

1.来源和任务 来源: https://github.com/InternLM/Tutorial/blob/camp3/docs/L1/Prompt/task.md 任务: 背景问题:近期相关研究发现,LLM在对比浮点数字时表现不佳,经验证,internlm2-chat-1.8b (internlm2-…

C++——list容器以及手动实现

LIST容器 list概述列表容器属性例子 list函数构造函数默认构造函数:带有元素个数和元素初值的构造函数:范围构造函数:拷贝构造函数:移动构造函数:示例 赋值运算符重载拷贝赋值操作符 (1):移动赋值操作符 (2…

安全通信|数据加密的由来|加密算法简介|中间人攻击与证书认证|身份验证

👈️下一篇 计算机网络-专栏👈️ 数据加密的由来|加密算法简介|中间人攻击与证书认证 引言 在客户端(client)-服务器(server)模式下,客户端与服务器间通信,如果明文传输数据,在传输过程被劫持,内容直接泄…

MySQL触发器和存储过程

1、触发器 (1):建立触发器,订单表中增加订单数量后,商品表商品数量同步减少对应的商品订单出数量,并测试 mysql> create trigger orders_after_insert_trigger-> after insert on orders for each row-> up…

不知道你们有没有我这样的一种状态...总是这样又总是那样...

各位小伙伴们,我是风尚,我不知道你们有没有那么一刻,就是感觉站在人生的十字路口,感觉自己就像是被扔进了一个没有导航的迷宫,四周都是墙,头顶是蓝天白云,却怎么也找不到出口的方向?…

重磅推荐!GBD再度登顶Lancet!| GBD数据库周报(7.17~7.23)

全球疾病负担(GBD)是迄今为止规模最大、最全面的一项研究,旨在量化不同地区和不同时期的健康损失,从而改善卫生系统并消除差异。 该研究由华盛顿大学健康指标与评估研究所 (IHME) 牵头,是一项真正的全球性研究&#xf…

MySQL--数据库与表的操作

前言:本博客仅作记录学习使用,部分图片出自网络,如有侵犯您的权益,请联系删除 数据库的基本操作 # 1、查看数据库show databases;​# 2、创建数据库create database 数据库名称;​# 3、删除数据库drop databse 数据库名称; 数据表…

RAC(Teamcenter )开发,Bom行解包和打包的方法

1、打包 UnpackAllAction allAction new UnpackAllAction((AbstractBOMLineViewerApplication) currentApplication, "packAllAction"); new Thread(allAction).start();2、解包 UnpackCommand command new UnpackCommand(bomLine); command.executeModal();3、注…

Marin说PCB之Orcad Capture调网表时出现了“Duplicate Pin Name”该怎么搞?

最近大巴黎在如火如荼的举行着奥运会,中国健儿们也是不负众望在很多项目中取得金牌的好成绩,其中中国选手陈芋汐/全红婵夺得巴黎奥运会跳水女子双人10米台金牌,其实没有看我就知道比赛的结果了,肯定是我们中国队夺得金牌的。 看到…

月薪竟然高达60k,AI大模型凭什么?

你是不是最近经常看到或听到“AI大模型”这个关键词?我也是!所以好奇去Boss直聘上搜了下工作机会。看到结果时,我有点不淡定了!薪资竟然这么高! 这是我随便搜的结果,发出来给大家看看。 下面,我…

多线程习题

1.使用两个线程完成两个文件的拷贝&#xff0c;分支线程1拷贝前一半&#xff0c;分支线程拷贝后一般&#xff0c;主线程回收两个分支线程的资源 #include<myhead.h> struct Buf {const char *srcfile;const char *destfile;int start;int len1; }; //创建求源文件大小的函…

【C#】.net core 6.0 webapi 使用core版本的NPOI的Excel读取数据以及保存数据

欢迎来到《小5讲堂》 这是《C#》系列文章&#xff0c;每篇文章将以博主理解的角度展开讲解。 温馨提示&#xff1a;博主能力有限&#xff0c;理解水平有限&#xff0c;若有不对之处望指正&#xff01; 目录 背景读取并保存NPOI信息NPOI 插件介绍基本功能示例代码写入 Excel 文件…

继电器测试中常见的故障和解决方法有哪些?

在继电器测试中&#xff0c;可能会遇到诸如电源问题、负载问题、控制系统问题和显示问题等故障。如果电源电压不稳定或波动过大&#xff0c;可能会导致继电器测试负载箱无法正常工作。此时需要检查电源线路&#xff0c;确保电源电压稳定在规定范围内。如有必要&#xff0c;可以…

详细说明Java中Map和Set接口的使用方法

Map与Set的基本概念与场景 Map和set是一种专门用来进行搜索的容器或者数据结构&#xff0c;其搜索的效率与其具体的实例化子类有关。以前常见的搜索方式有&#xff1a; 1. 直接遍历&#xff0c;时间复杂度为O(N)&#xff0c;元素如果比较多效率会非常慢。 2. 二分查找&#x…

PSINS工具箱函数介绍——insinit

insinit是初始化INS系统的函数 函数需要用到PSINS工具箱&#xff0c;关于工具箱的一些入门知识&#xff0c;参考这篇文章&#xff0c;是关于工具箱的讲解&#xff1a; PSINS初学指导&#xff1a;https://blog.csdn.net/callmeup/article/details/137087932 函数使用方法 正…