在服务器上搭建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。
3、Gitlab:通过官方网站下载相应版本的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已经访问不到了。
相关文章:

在服务器上搭建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 填写初始密码&a…...

全面解析MES系统中的报工操作
一、报工操作的定义: 报工操作是指在生产过程中,操作员通过MES系统记录和提交生产工序的相关信息,如工时、产量、质量等。报工操作将生产过程中的实际情况反馈给MES系统,实现生产数据的实时采集和记录。 二、报工操作的流程&…...

Harbor 私有仓库迁移
文章目录 一.私有仓库迁移的介绍1.为何要对Harbor 私有仓库的迁移2.Harbor 私有仓库的迁移特点3. Harbor 私有仓库的迁移注意要点 二.私有仓库迁移配置1.源Harbor配置(192.168.198.11)(1)接着以下操作查看容器状况及是否可以登录 …...

制造业物联网革命:智慧工厂数据采集与远程监控管理
智慧工厂是指运用现代信息技术和物联网技术,实现制造业生产过程的智能数字化。智慧工厂的工业设备不仅能够自动化运行,还可以通过网络技术帮助企业实现数据采集、远程监控与管理。4G工业网关便成为了智慧工厂通讯的重要组成部分,起到了连接工…...

软考A计划-网络工程师-复习背熟-网络管理和计算机基础知识
点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例点击跳转>软考全系列点击跳转>蓝桥系列 👉关于作者 专注于Android/Unity和各种游…...

springBoot打印精美logo
文章目录 🐒个人主页🏅JavaEE系列专栏📖前言:🎀文本logo 🐒个人主页 🏅JavaEE系列专栏 📖前言: 本篇博客主要以提供springBoot打印精美logo 🎀文本logo ??…...

kali开启SSH服务(简单无比)
我会一直陪着你 1.切换到管理员用户:2.启动SSH服务3.要在Kali Linux上启用SSH服务并修改配置文件,你可以按照以下步骤进行操作:4.查看SSH服务状态是否正常运行,命令为:注意:配置文件有些地方不同࿰…...

Ubuntu20.04如何更换国内源-阿里云源
1.备份源文件 cp /etc/apt/sources.list /etc/apt/sources.list.bak 2.打开源文件,注释默认的源 vim /etc/apt/sources.list ## 注释原本内容 # deb http://mirrors.ivolces.com/ubuntu/ focal main restricted universe multiverse # deb-src http://mirrors.ivolc…...

goland设置
1、go file设置 file->setting->Editor->File and Code Templates->Go File package ${GO_PACKAGE_NAME} /** * description: * author:${USER} * date:${YEAR}/${MONTH}/${DAY} ${HOUR}:${MINUTE} * Versio…...

2023年Java核心技术第十篇(篇篇万字精讲)
目录 十九 . 一个线程两次调用start()方法会出现什么情况?线程的生命周期和状态转移。 19.1 典型回答 19.1.1 线程生命周期: 19.1.2 计时等待详细解释: 19.2 深入扩展考察 19.2.1 线程是什么? 19.2.2 Green…...

分享一篇关于如何使用BootstrapVue的入门指南
你想轻松地创建令人惊叹且响应式的在线应用程序吗?使用BootstrapVue,您可以快速创建美观且用户友好的界面。这个开源工具包是基于Vue.js和Bootstrap构建的,非常适合开发现代Web应用程序。本文将介绍其基础知识,让您可以开始使用这…...

【1day】复现Cellular Router命令执行漏洞
目录 一、漏洞描述 二、影响版本 三、资产测绘 四、漏洞复现 一、漏洞描述 移动路由器(Cellular Router)是一种利用移动网络提供无线互联网连接的设备。它们类似于传统路由器,但不同于使用有线连接(如以太网或DSL)...

【Torch API】pytorch 中repeat_interleave函数详解
torch.repeat_interleave(input, repeats, dimNone) → Tensor Repeat elements of a tensor. Parameters input (Tensor) – the input tensor. repeats (Tensor or int) – The number of repetitions for each element. repeats is broadcasted to fit the shape of the …...

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

springgateway网关修改响应后,部分中文乱码问题
原因 是因为响应体过大,开启了压缩,数据分段进行响应得,导致处理返回体得时候乱码 解决方式 Overridepublic Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {ServerHttpRequest request exchange.getR…...

微信开发之一键发布群公告的技术实现
简要描述: 设置群公告 请求URL: http://域名地址/setChatRoomAnnouncement 请求方式: POST 请求头Headers: Content-Type:application/jsonAuthorization:login接口返回 参数: 参数名必…...

R语言和Python用泊松过程扩展:霍克斯过程Hawkes Processes分析比特币交易数据订单到达自激过程时间序列...
全文下载链接:http://tecdat.cn/?p25880 本文描述了一个模型,该模型解释了交易的聚集到达,并展示了如何将其应用于比特币交易数据。这是很有趣的,原因很多。例如,对于交易来说,能够预测在短期内是否有更多…...

自动化运维:Ansible脚本之playbook剧本
目录 一、理论 1.playbooks 2.YAML 3.使用ansible批量安装apache服务 4.定义、引用变量 5.指定远程主机sudo切换用户 6.when条件判断 7.迭代 8.Templates 模块 9.tags 模块 10.Roles 模块 二、实验 1.使用ansible批量安装apache服务 2.定义、引用变量…...

基于角色访问控制-RBAC(Role-Based Access Control)
1.RBAC简介 RBAC(Role-Based Access Control)是一种基于角色的访问控制模型,它是一种安全策略,用于限制系统中用户对资源的访问权限。RBAC模型的核心概念是用户角色和资源访问权限。 在角色访问控制中,首先需要定义系…...

springboot项目实现断点续传
java代码 package com.ruoyi.web.upload.controller; import com.ruoyi.web.upload.dto.FileChunkDTO; import com.ruoyi.web.upload.dto.FileChunkResultDTO; import com.ruoyi.web.upload.result.Result; import com.ruoyi.web.upload.service.IUploadService; import org.s…...

解析经典面试题:for 循环中的 let var
更多文章可以看看我的博客:https://icheng.github.io/ 题目 for循环中,使用 var 或 let 声明 i 变量,会得到不同的结果 var arr []; for (var i 0; i < 2; i) {arr[i] function () {console.log(i);} } arr[0](); arr[1]();输出&…...

CSS按钮-跑马灯边框
思路很简单,实现方法有很多很多。但是大体思路与实现方法都类似:渐变色 动画,主要区别在动画的具体实现 0、HTML 结构 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><titl…...

【PCIE系统学习】Gen1/2Gen3/4 symobl与OrderSet概念对比
这个专栏要干的事:学习PCIE理论知识,学会PCIE IP/VIP的使用。可以达到上手做项目,而不是空有理论 适合谁看:正在学习PCIE 设计验证,但学的过于零散。想有对比的系统的学习。 低价收费的目的:抵制胡乱传播转载现象。 版本控制:便于增加内容以及勘误 版本说明v20230829 …...

C++ Qt 中QMimeDatabase类详细介绍以及应用场景
C Qt 中QMimeDatabase类详细介绍以及应用场景 文章目录 C Qt 中QMimeDatabase类详细介绍以及应用场景一、QMimeDatabase类是什么?二、QMimeDatabase类中的关键功能和特点三、QMimeDatabase的用法四、QMimeDatabase的应用场景 一、QMimeDatabase类是什么?…...

深度学习7:生成对抗网络 – Generative Adversarial Networks | GAN
生成对抗网络 – GAN 是最近2年很热门的一种无监督算法,他能生成出非常逼真的照片,图像甚至视频。我们手机里的照片处理软件中就会使用到它。 目录 生成对抗网络 GAN 的基本原理 大白话版本 非大白话版本 第一阶段:固定「判别器D」&#x…...

R语言空气污染数据的地理空间可视化和分析:颗粒物2.5(PM2.5)和空气质量指数(AQI)...
原文链接:http://tecdat.cn/?p23800 由于空气污染对公众健康的不利影响,人们一直非常关注。世界各国的环境部门都通过各种方法(例如地面观测网络)来监测和评估空气污染问题(点击文末“阅读原文”获取完整代码数据&…...

实现excel导出最简单方式
今天来记录一下导出excel的实现方式,导出的格式是xlsx的文件。 这里用到的是hutool的工具包,依赖如下: <dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.3.5&…...

【每日一题Day310】LC1654到家的最少跳跃次数 | BFS
到家的最少跳跃次数【LC1654】 有一只跳蚤的家在数轴上的位置 x 处。请你帮助它从位置 0 出发,到达它的家。 跳蚤跳跃的规则如下: 它可以 往前 跳恰好 a 个位置(即往右跳)。它可以 往后 跳恰好 b 个位置(即往左跳&…...

[Android AIDL] --- AIDL原理简析
上一篇文章已经讲述了如何在Android studio中搭建基于aidl的cs模型框架,只是用起来了,这次对aidl及cs端如何调用的原理进行简单分析 1 创建AIDL文件 AIDL 文件可以分为两类。 一类是用来定义接口方法,声明要暴露哪些接口给客户端调用&#…...

企业的固定资产管理怎么操作
一家拥有多台大型设备的工厂,这些设备需要定期进行保养和维护,以确保其正常运转。而企业内部员工由于专业知识和技能的不同,需要分工协作才能更好地完成各项工作任务。因此,在设备资产管理方面,如何实现高效、便捷、透…...