当前位置: 首页 > news >正文

二、jenkins之idea提交项目到gitlab、jenkins获取项目

一、idea提交源码到gitlab

使用idea打开项目,把源码上传到Gitlab仓库

首先确保git是正常可用的

开启版本控制

提交代码到gitlab

首先Add到缓存区

 Commit到本地仓库

这里添加仓库地址:使用Ait+F12打开 IDEA 的终端

查看当前配置的git地址:git remote -v

删除git地址:git remote remove gitlab(这里的gitlab就是最前面的名字)

新增git地址:git remote add origin <你的GitLab地址>,例如:git remote add origin http://192.168.157.159:82/testjenkinszu/web_demo.git

至于上面的地址直接去Gitlab的项目中拷贝url地址即可(第一章我们创建了这个一个项目,且名字和项目名字相同)

然后使用idea的pull即可

然后刷新gitlab就看到项目了

二、rpm安装jenkins

可以使用二进制的rpm文件,也可以使用wget下载,

wget下载地址:
wget https://pkg.jenkins.io/redhat-stable/jenkins-2.346.1-1.1.noarch.rpm(稳定版)
wget https://pkg.jenkins.io/redhat-stable/jenkins-2.387.3-1.1.noarch.rpm(最新版)

#(1)下载完成后进行安装
[root@localhost home]# rpm -ivh jenkins-2.346.1-1.1.noarch.rpm 
警告:jenkins-2.346.1-1.1.noarch.rpm: 头V4 RSA/SHA512 Signature, 密钥 ID 45f2c3d5: NOKEY
准备中...                          ################################# [100%]
正在升级/安装...1:jenkins-2.346.1-1.1              ################################# [100%]#(2)根据服务器情况可以修改Jenkins配置,防止好tomcat端口冲突
vi /etc/syscofig/jenkins
ENKINS_USER="root"
JENKINS_PORT="8888#(3)启动Jenkins
systemctl start jenkins.service

(4)、访问web页面:http://192.168.157.160:8080/(服务器ip+端口)

web页面需要输入密码

在服务器下查看密码:cat /var/lib/jenkins/secrets/initialAdminPassword

(5)、跳过插件安装,因为默认是从官网下载的,会很慢,先不安装插件

 (6)加一个管理员账户,并进入Jenkins后台

保存并完成

开始使用

使用新建的账户密码登录上去

三、war方式安装jenkins 

高版本的jenkins不再提供rpm方式安装,所以使用war方式安装
 

(1)首先下载最新的jenkins包:
wget https://get.jenkins.io/war-stable/2.440.3/jenkins.war -O jenkins.war(2)下载完成后,把war包放在/home/jenkins中(3)然后创建文件:vi /etc/systemd/system/jenkins.service,内容如下:
[Unit]
Description=Jenkins Server
After=network.target[Service]
User=root
Group=root
Environment="JENKINS_HOME=/var/lib/jenkins"
ExecStart=/usr/bin/java -jar /home/jenkins/jenkins.war --httpPort=8080
Restart=always[Install]
WantedBy=multi-user.target
(4)注意java的位置和jenkins.war的位置要对,可以通过which java看到java的路径(5)
sudo systemctl daemon-reload #重新加载systemctl配置
sudo systemctl start jenkins
sudo systemctl enable jenkins  # 开机自启
sudo systemctl status jenkins

四、卸载jenkins

卸载命令

1)停止服务
systemctl stop jenkins.service2)删除jenkins包
yum remove jenkins*3)删除相关文件夹
# 删除 Jenkins 主目录(包含所有配置、插件和构建历史)
sudo rm -rf /var/lib/jenkins# 删除 Jenkins 日志文件
sudo rm -rf /var/log/jenkins# 删除 Jenkins 用户(如果存在)
sudo userdel jenkins
sudo groupdel jenkins# 删除临时文件
sudo rm -rf /tmp/jenkins*4)查找所有与 Jenkins 相关的文件
sudo find / -name "*jenkins*" -exec rm -rf {} \; 2>/dev/null || true# 检查是否还有 jenkins 进程运行
ps aux | grep jenkins# 检查是否还有 jenkins 相关文件
whereis jenkins

五、插件源替换(算了,我下面换的源不好使)

插件源默认用的官网的,比较慢(慢,但是可以用,我不换了),换为国内的华为源 

1. Jenkins 管理界面(临时生效)

输入华为云的源地址:https://repo.huaweicloud.com/jenkins/updates/update-center.json并保存


2. 配置文件(永久生效,避免重启后恢复默认)

cd /var/lib/jenkins/updatesvi default.json:%s#https://updates.jenkins.io#https://repo.huaweicloud.com/jenkins#g

重启jenkins:  systemctl restart jenkins.service

六、使用汉化插件

汉化组件安装好后需要重启jenkins 

遇到的坑:这个汉化只能汉化高版本的,我的低版本无法汉化

七、用户角色管理

(1)、安装管理用户的插件

 下载完成后,查看右侧有如下3个按钮

(2)设置用户管理方式

 点击上面的Security设置授权策略为这个(这个是安装过用户管理插件才会有的)

(3)新增角色

注意:项目名jsryb开头,记得带个.号,然后*是随便匹配的意思。

(4)点击Users新增用户

 

(5)用户创建完成后,给用户分配角色

 注意:lulu1、miaomiao2必须分配baseRole权限,不然登录没有任何权限

 (6)创建一个项目

 这里解释下:

我们的role2角色负责管理“web”开头的项目

然后role2角色又分给了miaomiao2

所以这个时候miaomiao2是有web开头的项目的,我们登录miaomiao2,查看确实有

八、安装凭证

 凭据可以用来存储需要密文保护的数据库密码、Gitlab密码信息、Docker私有仓库密码等,以便Jenkins可以和这些第三方的应用进行交互。

目前我使用的2440.3高版本,好像自带凭据,待确认。低版本的可以安装该插件。

直接搜索,安装该插件

 安装成功后,出现这个图标

新版本的jenkins凭证图标这个样子,点击凭证

点击全局

 

可以看到支持多种格式

 遇到的坑:虽然我是高版本,但是管理员并没有看到凭证按钮,我给普通用户分配一下3个权限后,登录普通用户就看到凭证按钮了。

九、jenkins获取git代码

(1)安装git插件和git

首先我们jenkins安装git插件

get插件安装成功后,验证是否安装成功:

我们创建一个项目,发现这个有git就说明git插件拉取成功。

然后jenkin服务器也要安装git。安装完成后使用git --version查看是否安装成功,显示版本说明安装成功

[root@localhost tasks]# yum install git -y[root@localhost tasks]# git --version
git version 1.8.3.1

(2)配置凭证

 保存,成功成功

(2)选择项目拉取gitlab的代码  

这里我随便选择一个项目

选择凭证后就报错了,最后点击【应用】和【保存】按钮。

 然后点击Build Now看看有没有拉取代码

 十、maven的安装和配置

(1)服务器安装配置maven

#apache-maven-3.6.2-bin.tar.gz上传到/home目录,解压tar zxvf apache-maven-3.6.2-bin.tar.gz#配置环境变量
vi /etc/profile
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk
export MAVEN_HOME=/home/apache-maven-3.6.2
export PATH=$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin#是配置生效
source /etc/profile#查看maven版本
mvn -v

(2)jenkins配置maven和jdk

需要配置2个地方,分别是全局配置和系统配置:

设置全局配置

配置jdk

 配置maven地址

 设置系统配置

 配置JAVA_HOME、M2_HOME、PATH+EXTRA,这个配置类似于配置服务器的profile文件,做工是让jenkins感知到JAVA_HOME、M2_HOME的位置。

(3)我们可以设置maven仓库地址和下载源

cd /home/apache-maven-3.6.2/conf vi settings.xml #修改、新增下面2个地方<localRepository>/home/mavencangku</localRepository> #1、修改这个地址为/home/mavencangku,作用就是把仓库放在/home/mavencangku,这个文件要记得创建<mirrors><!-- mirror| Specifies a repository mirror site to use instead of a given repository. The repository that| this mirror serves has an ID that matches the mirrorOf element of this mirror. IDs are used| for inheritance and direct lookup purposes, and must be unique across the set of mirrors.|<mirror> <id>mirrorId</id><mirrorOf>repositoryId</mirrorOf><name>Human Readable Name for this Mirror.</name><url>http://my.repository.com/repo/path</url></mirror>--><mirror>#2、这一块开始<id>alimaven</id><name>aliyun maven</name><url>http://maven.aliyun.com/nexus/content/groups/public/</url><mirrorOf>central</mirrorOf></mirror>#到这一块结束加上,意思就是配置阿里云的源,jar包下载快一点</mirrors>

(4)把jenkins上的项目配置maven命令,尝试build项目

点击我们已经拉取代码的项目

 点击配置

 设置shell这个

 配置如下命令

然后我们点击Build  Now

也可以看到打包成功:

http://www.dtcms.com/a/264505.html

相关文章:

  • 将大仓库拆分为多个小仓库
  • 前端请求浏览器提示net::ERR_UNSAFE_PORT的解决方案
  • WPF路由事件:冒泡、隧道与直接全解析
  • 【Harmony】鸿蒙企业应用详解
  • 小型水电站综合自动化系统的介绍
  • 计算机组成笔记:缓存替换算法
  • QT6 源(147)模型视图架构里的表格窗体 QTableWidget 的范例代码举例,以及其条目 QTableWidgetItem 类型的源代码。
  • Re:从零开始的 磁盘调度进程调度算法(考研向)
  • Node.js 安装使用教程
  • Spring 生态创新应用:微服务架构设计与前沿技术融合实践
  • Kuikly 与 Flutter 的全面对比分析,结合技术架构、性能、开发体验等核心维度
  • 对于3DGS的理解
  • Redisson 与 Java 驻内存数据网格:分布式缓存的高可用解决方案
  • 【强化学习】深度解析 GRPO:从原理到实践的全攻略
  • 微信小程序入门实例_____打造你的专属单词速记小程序
  • 【并发编程】AQS原理详解笔记1
  • 基于SpringBoot和Leaflet的区域冲突可视化系统(2025企业级实战方案)
  • 服务器异常宕机或重启导致 RabbitMQ 启动失败问题分析与解决方案
  • 使用tensorflow的线性回归的例子(五)
  • 界面组件DevExpress WPF中文教程:Grid - 如何获取节点?
  • 【办公类-53-05】20250701Python模仿制作2025学年第一学期校历(excel+pdf)
  • 计算机网络(五)数据链路层 MAC和ARP协议
  • Mabl 基于云端的智能化自动化测试平台
  • 解决Python升级后CMD仍显示旧版本:环境变量优先级问题详解
  • vue中ref()和reactive()区别
  • 聚类算法学习
  • PAL(程序辅助语言模型)技术详解
  • 通讯录管理系统设计与实现(C++)
  • URL时间戳参数深度解析:缓存破坏与前端优化的前世今生
  • 调试 WebView 旧资源缓存问题:一次从偶发到复现的实战经历