CI/CD 搭建jenkins基础测试环境构建项目(一)

 Jenkins是一个开源的持续集成工具,可以帮助开发团队自动化构建、测试和部署他们的软件项目。通过Jenkins,开发团队可以实现快速、高效地交付软件,并及时发现和解决问题,从而提高团队的生产力和软件质量。持续集成/持续交付(CI/CD)是一种自动化的软件开发实践,它的好处包括快速反馈、降低风险、提高质量、自动化流程、增强团队协作以及提高部署频率。通过CI/CD,团队可以更快地交付软件、减少错误、提高效率,并促进团队之间的合作与沟通。这种实践在现代软件开发中具有重要的作用,是提高软件交付速度和质量的关键方法之一。

jenkinsJenkins download and deployment
mavenMaven – Download Apache Maven
gitlab

https://packages.gitlab.com/gitlab/gitlab-ce/packages/el/8/gitlab-ce-16.8.2-ce.0.el8.x86_64.rpm/download.rpm

docker阿里巴巴开源镜像站-OPSX镜像站-阿里云开发者社区 (aliyun.com)

安装java

[root@localhost ~]# tar zxvf jdk-17_linux-x64_bin_790090.tar.gz 
[root@localhost ~]# mv jdk-17.0.10/ /usr/local/java
[root@localhost ~]# echo 'export JAVA_HOME=/usr/local/java
> export JRE_HOME=/usr/local/java/jre
> export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib
> export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin' >> /etc/profile
[root@localhost ~]# source /etc/profile
[root@localhost ~]# java -version
java version "17.0.10" 2024-01-16 LTS
Java(TM) SE Runtime Environment (build 17.0.10+11-LTS-240)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.10+11-LTS-240, mixed mode, sharing)

安装maven

[root@localhost ~]# tar zxvf apache-maven-3.9.6-bin.tar.gz 
[root@localhost ~]# mv apache-maven-3.9.6 /usr/local/maven
[root@localhost ~]# vim /etc/profile
> export PATH=$PATH:/usr/local/maven/bin			#最后添加一行
[root@localhost ~]# source /etc/profile
[root@localhost ~]# mvn -v
Apache Maven 3.9.6 (bc0240f3c744dd6b6ec2920b3cd08dcc295161ae)
Maven home: /usr/local/maven
Java version: 17.0.10, vendor: Oracle Corporation, runtime: /usr/local/java
Default locale: zh_CN, platform encoding: UTF-8
OS name: "linux", version: "5.14.0-162.6.1.el9_1.0.1.x86_64", arch: "amd64", family: "unix"

安装gitlab

[root@localhost ACE]# wget --content-disposition https://packages.gitlab.com/gitlab/gitlab-ce/packages/el/8/gitlab-ce-16.8.2-ce.0.el8.x86_64.rpm/download.rpm			可以从这个网址下载
[root@localhost ~]# yum -y install curl openssh-server openssh-clients postfix cronie perl perl-devel autoconf libaio 	
安装依赖关系
启动服务,设置开机自启
[root@localhost ~]# systemctl restart postfix
[root@localhost ~]# systemctl enable postfix
[root@localhost ~]# rpm -ivh gitlab-ce-16.8.2-ce.0.el8.x86_64.rpm   安装
[root@localhost ~]# vim /etc/gitlab/gitlab.rb 			修改配置文件
将external_url 修改成本机http://IP
[root@localhost ~]# gitlab-ctl reconfigure		重新编译
[root@localhost ~]# grep "Password" /etc/gitlab/initial_root_password 			查看root密码
忘记密码找回;
[root@localhost ~]# gitlab-rails console
irb(main):001:0> user = User.where(id:1).first				指定用户
=> #<User id:1 @root>
irb(main):002:0> user.password="12345.com"				修改密码
=> "12345.com"
irb(main):003:0> user.save!								保存
=> true
配置邮箱(还是在配置文件内)
85:gitlab_rails['smtp_enable'] = true								开启smtp
gitlab_rails['smtp_address'] = "smtp.163.com"						smtp使用服务器的地址
gitlab_rails['smtp_port'] = 25										端口
gitlab_rails['smtp_user_name'] = "*************@163.com"				发送的用户名
gitlab_rails['smtp_password'] = "izacwsrelvqydeia"					授权码
gitlab_rails['smtp_domain'] = "163.com"								smtp服务域名
gitlab_rails['smtp_authentication'] = "login"						smtp授权信息
gitlab_rails['smtp_enable_starttls_auto'] = false                    邮箱安全加密关闭
gitlab_rails['smtp_tls'] = false
[root@localhost ~]# gitlab-ctl reconfigure
重新编写

[root@localhost ~]# gitlab-rails console
irb(main):001:0> Notify.test_email('*****@163.com','lalalala','asdasdasdasd').deliver_now
发送消息

备份gitlab

[root@localhost ~]# gitlab-rake gitlab:backup:create
[root@localhost ~]# ls /var/opt/gitlab/backups/     备份到该目录下
[root@localhost ~]# gitlab-ctl stop sidekiq		停止后台服务,消息队列
ok: down: sidekiq: 0s, normally up
[root@localhost ~]# gitlab-ctl stop unicorn	停止网页
[root@localhost ~]# gitlab-rake gitlab:backup:restore BACKUP=1696840271_2023_10_09_16.2.8
输入两次yes第一次是询问删除以前缓存,第二次是询问确定该此操作么。

jenkins安装

sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
  sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io-2023.key
yum install jenkins
[root@localhost ~]# cd /usr/share/java/
[root@localhost ~]# java -jar jenkins.war --httpPort=8090
进入ip+8090端口
按照指定路径解锁jenkins
安装指定插件
创建用户,密码,开始使用jenkins

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

极光笔记|极光消息推送服务的云原生实践

摘要 极光始终秉承“以开发者为中心”的战略导向&#xff0c;极光推送&#xff08;JPush&#xff09;是国内领先的消息推送服务。极光推送&#xff08;JPush&#xff09;本质上是一种软件付费应用程序&#xff0c;结合当前主流云厂商基础施设&#xff0c;逐渐演进成了云上SaaS…

AP5127 是一款 PWM 工作模式,高效率、外围简单、内置功率管

产品描述 AP5127 是一款 PWM 工作模式,高效率、外围简单、内置功率管&#xff0c;适用于 12-100V 输入的高精度降压 LED 恒流驱动芯片。输出最大功率可达25W&#xff0c;最大电流 2.5A。 AP5127 可实现全亮/半亮功能切换&#xff0c;通过MODE 切换&#xff1a;全亮/半亮/循环模…

基于深度学习的OCR,如何解决图像像素差的问题?

基于深度学习的OCR技术在处理图像像素差的问题时确实面临一定的挑战。图像像素差可能导致OCR系统无法准确识别文本&#xff0c;从而影响其精度和可靠性。尽管已经有一些方法如SRN-Deblur、超分SR和GAN系列被尝试用于解决这个问题&#xff0c;但效果并不理想。然而&#xff0c;这…

前端删除列表数据后页码重置逻辑

问题描述 需要调整页码的例子&#xff1a; 列表一共有10页数据&#xff0c;用户把第10页数据全部删除后&#xff0c;需要把数据重置成上一页&#xff0c;也就是第9页 不用调整页码的例子&#xff1a; 列表一共有1页数据&#xff0c;用户把本页数据全部删除后&#xff0c;页码…

【考研数学二】线性代数重点笔记

目录 第一章 行列式 1.1 行列式的几何意义 1.2 什么是线性相关&#xff0c;线性无关 1.3 行列式几何意义 1.4 行列式求和 1.5 行列式其他性质 1.6 余子式 1.7 对角线行列式 1.8 分块行列式 1.9 范德蒙德行列式 1.10 爪形行列式的计算 第二章 矩阵 2.1 初识矩阵 2…

Git基础(24):分支回退

文章目录 前言放弃已修改的内容分支回退到指定commit 前言 将分支回退到之前的某个版本 开发中&#xff0c;可能开发某个功能不需要了&#xff0c;或者想要回退到之前历史的某个commit&#xff0c; 放弃后来修改的内容。 放弃已修改的内容 如果未提交&#xff0c;直接使用 …

申请GeoTrust数字证书

GeoTrust介绍&#xff1a; 大家应该都不陌生&#xff0c;作为最老资格的一批国际大牌证书&#xff0c;GeoTrust的品牌效益和使用群体非常庞大。在数字证书领域也是当之无愧的龙头地位&#xff0c;作为Symantec和Digicert的子品牌&#xff0c;证书安全性能方面毋庸置疑&#xf…

Android内存优化项目经验分享 兼顾效率与性能

背景 项目上线一段时间后,回顾重要页面 保证更好用户体验及生产效率&#xff0c;做了内存优化和下载导出优化&#xff0c;具体效果如最后的一节的表格所示。 下面针对拍摄流程的两个页面 预览页 导出页优化实例进行介绍&#xff1a; 一.拍摄前预览页面优化 预览效果问题 存在…

TrackballControls是Three.js中的一个相机控件,它允许用户通过鼠标拖拽、滚轮缩放以及键盘移动相机,实现类似于球形的相机旋转操作。

demo案例 TrackballControls是Three.js中的一个相机控件&#xff0c;它允许用户通过鼠标拖拽、滚轮缩放以及键盘移动相机&#xff0c;实现类似于球形的相机旋转操作。这个控件可以用于3D场景中&#xff0c;以提供更好的用户体验。以下是对TrackballControls的入参、出参、方法…

由浅到深认识Java语言(25):正则表达式

该文章Github地址&#xff1a;https://github.com/AntonyCheng/java-notes 在此介绍一下作者开源的SpringBoot项目初始化模板&#xff08;Github仓库地址&#xff1a;https://github.com/AntonyCheng/spring-boot-init-template & CSDN文章地址&#xff1a;https://blog.c…

基于nodejs+vue高校自习室预约系统的设计与实现python-flask-django-php

本系统在设计过程中&#xff0c;很好地发挥了该开发方式的优势&#xff0c;让实现代码有了良好的可读性&#xff0c;而且使代码的更新和维护更加的方便&#xff0c;操作简单&#xff0c;对以后的维护减少了很多麻烦。系统的顺利开发和实现&#xff0c;对于高校自习室预约这一方…

springboot项目学习-瑞吉外卖(4)

1.任务 这一节主要的任务是解决文件的上传和下载功能 2.文件上传 概念&#xff1a;将本地的图片上传到浏览器上面 点击文件上传&#xff0c;前端就会发送如上的请求&#xff0c;服务端应该根据URL和请求方法来处理请求 CommonController类&#xff1a; RestController Slf4j …

xcode生成静态库.a

一、生成静态库 1.打开 Xcode 创建一个新的 Static Library 工程&#xff0c;取名applestudio 2.创建工程完毕后&#xff0c;简化目录结构 删除系统自动创建的同名类&#xff1a;applestudio.h和applestudio.m 把自己的代码复制进去&#xff0c;如例子&#xff1a;guiconnect.h…

java Web餐馆订单管理系统用eclipse定制开发mysql数据库BS模式java编程jdbc

一、源码特点 JSP 餐馆订单管理系统是一套完善的web设计系统&#xff0c;对理解JSP java 编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境为TOMCAT7.0,eclipse开发&#xff0c;数据库为Mysql5.0&#xff0c;使…

Elasticsearch从入门到精通-07ES底层原理学习

Elasticsearch从入门到精通-07ES底层原理和高级功能 &#x1f44f;作者简介&#xff1a;大家好&#xff0c;我是程序员行走的鱼 &#x1f4d6; 本篇主要介绍和大家一块学习一下ES底层原理包括集群原理、路由原理、分配控制、分配原理、文档分析原理、文档并发安全原理以及一些高…

交换机高级-端口安全

端口安全 1、一旦接口开启端口安全功能&#xff0c;那么接口所学到的动态MAC就会转换成安全MAC地址&#xff1b; 2、安全MAC地址默认情况下只能学习1个&#xff0c;可以通过命令手动修改学习数量&#xff1b; 3、安全MAC地址没有老化时间&#xff08;但是依然存在内存中&…

iOS-UIFont 实现三方字体的下载和使用

UIFont 系列传送门 第一弹加载本地字体:iOS UIFont-新增第三方字体 第二弹加载线上字体:iOS-UIFont 实现三方字体的下载和使用 前言 在上一章我们完成啦如何加载使用本地的字体。如果我们有很多的字体可供用户选择,我们当然可以全部使用本地字体加载方式,可是这样就增加了…

荟萃分析R Meta-Analyses 3 Effect Sizes

总结 效应量是荟萃分析的基石。为了进行荟萃分析&#xff0c;我们至少需要估计效应大小及其标准误差。 效应大小的标准误差代表研究对效应估计的精确程度。荟萃分析以更高的精度和更高的权重给出效应量&#xff0c;因为它们可以更好地估计真实效应。 我们可以在荟萃分析中使用…

容器镜像加速指南:探索 Kubernetes 缓存最佳实践

介绍 将容器化应用程序部署到 Kubernetes 集群时&#xff0c;由于从 registry 中提取必要的容器镜像需要时间&#xff0c;因此可能会出现延迟。在应用程序需要横向扩展或处理高速实时数据的情况下&#xff0c;这种延迟尤其容易造成问题。幸运的是&#xff0c;有几种工具和策略…

360奇酷刷机 360刷机助手 QGDP360手机QGDP刷机

360奇酷刷机 360刷机助手 QGDP破解版360手机QGDP刷机 360手机刷机资源下载链接&#xff1a;360rom.github.io 参考&#xff1a;360手机-360刷机360刷机包twrp、root 360奇酷刷机&#xff1a;360高通驱动安装 360手机刷机驱动&#xff1b;手机内置&#xff0c;可通过USB文件传输…