在服务器上搭建Jenkins

 

目录

1.服务器要求

2.官方文档

3.在服务器上下载Jenkins

3.1 下载war包

3.2 将war包上传到服务器的一个目录下

3.3 启动jenkins

3.3.1 jdk版本升级

1)下载jdk17

2)解压到当前文件夹

3)配置路径

4.jenkins配置

4.1 填写初始密码,激活系统

4.2 选择插件

4.3 设置初始密码

4.4 插件需要重启才能生效

5.Jenkins项目构建

5.1 构建完成效果

5.2 构建springcloud项目

5.3 构建vue项目

6.Jenkins后台运行

7.关闭JenKins


近年来,在软件开发领域,git作为版本管理工具已经被广泛应用。而gitlab则是一个基于git的代码托管平台,提供了代码仓库、issue跟踪、CI/CD等功能,被越来越多的企业和团队所使用。

1.服务器要求

1、CPU:建议使用双核或以上的CPU。

2、内存:建议使用4GB或以上内存。

3硬盘:建议使用至少50GB的硬盘空间,如果需要使用git-lfs,则建议使用100GB或以上的硬盘空间。

4、操作系统:建议使用Linux操作系统,推荐使用Ubuntu或CentOS操作系统。

5、依赖项:

a)curl、openssh-server、ca-certificates软件包。

b)PostgreSQL或MySQL数据库。建议使用PostgreSQL数据库。

c)Redis服务。该服务用于处理gitlab的后台任务。

d)nginx或apache服务。gitlab使用其中的一个服务作为web服务器,推荐使用nginx。

3Gitlab:通过官方网站下载相应版本的gitlab安装包。也可以通过源码来安装gitlab。

2.官方文档

集成构建工具

用户手册

3.在服务器上下载Jenkins

3.1 下载war包

http://mirrors.jenkins.io/war-stable/latest/jenkins.war

3.2 将war包上传到服务器的一个目录下

3.3 启动jenkins

来到war包所在目录下

java -jar jenkins.war --httpPort=45

如果出现git自动触发时报错403,启动加如下参数可以解决问题:

nohup java -jar -Dhudson.security.csrf.GlobalCrumbIssuerConfiguration.DISABLE_CSRF_PROTECTION=true  /www/wwwroot/yangsaiya/server/jenkins.war --httpPort=45  &

如果出现下面提示:

表示需要jdk的版本为11或17.

3.3.1 jdk版本升级

1)下载jdk17

wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gz

2)解压到当前文件夹

tar -zxvf jdk-17_linux-x64_bin.tar.gz

3)配置路径

我的jdk在/usr/java目录下

进入/etc/profile.d目录下

cd /etc/profile.d

在此目录下新建一个java.sh文件

将环境变量写入里面

export JAVA_HOME=/usr/java/jdk-17.0.8
export PATH=$JAVA_HOME/bin:$PATH

之后来到/etc/profile.d/目录下运行脚本

cd /etc/profile.d
source java.sh

之后在任何目录下

java -version

就可以看到jdk版本已经变成了17

启动

4.jenkins配置

在浏览器上访问你的服务器ip地址加端口号。

4.1 填写初始密码,激活系统

4.2 选择插件

4.3 设置初始密码

4.4 插件需要重启才能生效

对jenkins进行重启,之后进行插件的下载

下载插件,以springboot为例:

  • Maven Integration:Maven 构建工具。
  • Publish Over SSH:整个工具,将来把 Jenkins 打包好的 jar 上传到应用服务器上。
  • Gitee:协助使用 Gitee 仓库。

安装成功后,重启Jenkins。

5.Jenkins项目构建

可以参考文档:三:Jenkins项目构建 · jenkins · 看云

5.1 构建完成效果

5.2 构建springcloud项目

注意:如果构建失败,可以加上这一行:

#!/usr/bin/env bash
mvn package
cd /root/docker-compose-vote
docker-compose down
docker-compose up -d

5.3 构建vue项目

#!/usr/bin/env bash
yarn
yarn build
cd /root/docker-compose-vote-front
docker-compose down
docker-compose up -d

6.Jenkins后台运行

 java -jar jenkins.war --httpPort=45 & 

执行以下三步:

(1)执行java -jar xxx.jar后

(2)ctrl+z 退出到控制台,执行 bg

(3)exit

完成以上3步,退出shell后,jar服务一直在后台运行。

nohup java -jar jenkins.war --httpPort=8080 &

ps:不要直接关掉xshell窗口,先退出exit,再关闭。

7.关闭JenKins

输入网址:

服务器ip地址+端口号/exit

点击按钮,可以看到已经关闭了。

再访问JenKins已经访问不到了。

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

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

相关文章

利用 AI 赋能云安全,亚马逊云科技的安全技术创新服务不断赋能开发者

文章分享自亚马逊云科技 Community Builder:李少奕 2023年6月14日,一年一度的亚马逊云科技 re:Inforce 全球大会在美国安纳海姆落下了帷幕。re:Inforce 是亚马逊云科技全球最大的盛会之一,汇集了来自全球各地的安全专家,共同学习、…

JVM 垃圾收集

垃圾收集 分代理论Java 堆的内存分区不同分代收集垃圾收集算法 分代理论 弱分代假说:绝大多数对象都是朝生夕灭,即绝大多数对象都是用完很快需要销毁的。强分代假说:熬过多次垃圾收集过程的对象就越难以消亡,即如果对象经过多次垃…

【Go 基础篇】Go语言结构体实例的创建详解

在Go语言中,结构体是一种强大的数据类型,允许我们定义自己的复杂数据结构。通过结构体,我们可以将不同类型的数据字段组合成一个单一的实例,从而更好地组织和管理数据。然而,在创建结构体实例时,有一些注意…

JVM第一篇 认识java虚拟机

目录 1. 什么是java虚拟机 2. java虚拟机分类 2.1. 商用虚拟机 2.2. 嵌入式虚拟机 3.java虚拟机架构 4.java虚拟机运行过程 1. 什么是java虚拟机 传统意义上的虚拟机是一种抽象化的计算机,通过在实际的计算机上仿真模拟各种计算机功能来实现的,是操…

jsch网页版ssh

使用依赖 implementation com.jcraft:jsch:0.1.55Server端代码 import com.jcraft.jsch.Channel; import com.jcraft.jsch.JSch; import com.jcraft.jsch.Session; import java.io.InputStream; import java.io.OutputStream; import java.util.concurrent.TimeUnit; import o…

【C++进阶(三)】STL大法--vector迭代器失效深浅拷贝问题剖析

💓博主CSDN主页:杭电码农-NEO💓   ⏩专栏分类:C从入门到精通⏪   🚚代码仓库:NEO的学习日记🚚   🌹关注我🫵带你学习C   🔝🔝 vector-下 1. 前言2. 什么是迭代器失效?3. 迭代…

GitHub 标星 15w,如何用 Python 实现所有算法?

学会了 Python 基础知识,想进阶一下,那就来点算法吧!毕竟编程语言只是工具,结构算法才是灵魂。 新手如何入门 Python 算法? 几位印度小哥在 GitHub 上建了一个各种 Python 算法的新手入门大全。从原理到代码&#xf…

ClickHouse进阶(六):副本与分片-2-Distributed引擎

进入正文前,感谢宝子们订阅专题、点赞、评论、收藏!关注IT贫道,获取高质量博客内容! 🏡个人主页:含各种IT体系技术,IT贫道_Apache Doris,大数据OLAP体系技术栈,Kerberos安全认证-CSDN博客 📌订阅…

【项目设计】高并发内存池(Concurrent Memory Pool)

目录 1️⃣项目介绍 🍙项目概述 🍙知识储备 2️⃣内存池介绍 🍙池化技术 🍙内存池 🍙内存池主要解决的问题 🍥内碎片 🍥外碎片 🍙malloc 3️⃣ 定长内存池设计 4️⃣ 项…

channel并发编程

不要通过共享内存通信,要通过通信共享内存。 channel是golang并发编程中一种重要的数据结构,用于多个goroutine之间进行通信。 我们通常可以把channel想象成一个传送带,将goroutine想象成传送带周边的人,一个传送带的上游放上物品…

打破对ChatGPT的依赖以及如何应对ChatGPT的错误和幻觉

​ OpenAI的ChatGPT是第一个真正流行的生成式AI工具,但它可能不是最好的。现在是时候扩大你的AI视野了。 ChatGPT成为了基于大语言模型(LLM)的聊天机器人的同义词。但是现在是时候停止对ChatGPT的痴迷,开始发现这个新世界中强大的替代品了。 首先&a…

【内推码:NTAMW6c】 MAXIEYE智驾科技2024校招启动啦

MAXIEYE智驾科技2024校招启动啦【内推码:NTAMW6c】 【招聘岗位超多!!公司食堂好吃!!】 算法类:感知算法工程师、SLAM算法工程师、规划控制算法工程师、目标及控制算法工程师、后处理算法工程师 软件类&a…

python 深度学习 解决遇到的报错问题4

目录 一、DLL load failed while importing _imaging: 找不到指定的模块 二、Cartopy安装失败 三、simplejson.errors.JSONDecodeError: Expecting value: line 1 column 1 (char 0) 四、raise IndexError("single positional indexer is out-of-bounds") 五、T…

操作系统中一些零散的知识点

第三章 内存管理 在虚拟内存系统中,虚拟内存的最大容量是由计算机的地址结构(CPU寻址范围)确定的,而虚拟内存的实际容量是受到“内存大小磁盘空间大小”、“地址线位数”共同制约,取二者最小值实现虚拟内存管理必须有…

Lvs+KeepAlived高可用高性能负载均衡

目录 1.环境介绍 2.配置keepalived 3.测试 1.测试负载均衡 2.测试RS高可用 3.测试LVS高可用 3.1测试lvs主服务宕机 3.2.测试lvs主服务器恢复 4.我在实验中遇到的错误 1.环境介绍 环境:centos7 RS1---RIP1:192.168.163.145 VIP 192.168.163.200 RS2---RIP2…

无涯教程-Android Studio函数

第1步-系统要求 您将很高兴知道您可以在以下两种操作系统之一上开始Android应用程序的开发- MicrosoftWindows10/8/7/Vista/2003(32或64位)MacOSX10.8.5或更高版本,最高10.9(小牛) GNOME或KDE桌面 第二点是,开发Android应用程序所需的所有工具都是开源的,可以从Web上下载。以…

【Interaction交互模块】ActionPublisher/ActionReciever

文章目录 需求案例原理0、相应准备1、发布器、接收器2、将把两者联系起来3、前提状态 补充 需求 Interactor只能将一个动作(如按下手柄抓取键),传递给Interactble,如果要传两个或多个,就需要用发布器和接收器。 案例 右手柄抓取…

小疆智控CANOpen转PROFINET网关连接EA180C CANOPEN总线型伺服配置案例

1、首先新建一个工程,在CanOpen转Profinet网关配置软件中添加主站设备,如下图; 2、在CanOpen转Profinet网关设备点击导入EA180C CANOPEN总线型伺服 EDS 文件,右键添加从属设备; 3、设备设置站地址,如图&…

云原生架构:在云环境中构建弹性应用

随着云计算技术的快速发展,云原生架构已经成为现代软件开发的热门话题。作为一种在云环境中构建和运行应用程序的方法论,云原生架构强调弹性、可扩展性和灵活性,使开发者能够更好地应对复杂的业务需求。本文将深入探讨云原生架构的核心概念、…

TDesign表单rules通过函数 实现复杂逻辑验证输入内容

Element ui 中 我们可以通过validator 绑定函数来验证一些不在表单model中的值 又或者处理一下比较复杂的判断逻辑 TDesign也有validator 但比较直观的说 没有Element那么好用 这里 我们给validator绑定了我们自己的checkAge函数 这个函数中 只有一个参数 value 而且 如果你的…