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

gitlab+jenkins的ci/cd部署

一.jdk17安装

jdk17下载:

sudo wget https://download.java.net/java/GA/jdk17.0.1/2a2082e5a09d4267845be086888add4f/12/GPL/openjdk-17.0.1_linux-x64_bin.tar.gz

 下载完成后,使用以下命令将压缩包解压到 /opt 目录(你也可以选择其他合适的目录):

sudo tar -zxvf openjdk-17.0.1_linux-x64_bin.tar.gz -C /opt

编辑 /etc/profile 文件,添加 JDK 17 的环境变量:

sudo vi /etc/profile

在文件末尾添加以下内容:

export JAVA_HOME=/opt/jdk-17.0.8+7  # 根据实际解压后的目录名称修改
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$JAVA_HOME/bin:$PATH

保存并退出文件后,使配置生效:

source /etc/profile

使用以下命令验证 JDK 17 是否安装成功:

java -version

二.gitlab安装

gitlab下载地址: https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-16.5.1-ce.0.el7.x86_64.rpm

1.上传rpm包

mkdir /app/cicd
yum -y install gitlab-ce-16.5.1-ce.0.el7.x86_64.rpm

2.根据安装提示进行配置

vim /etc/gitlab/gitlab.rb
修改external_url 'http://gitlab.example.com'成自己的地址

注:如果external_url修改完重新加载完配置访问gitlab,报错We're sorry. GitLab is taking too much time to respond.

可能是puma进程不断重启的原因,执行

sudo chmod -R 777 /opt/gitlab/var/puma

3.重新配置gitlab

sudo gitlab-ctl reconfigure

4.访问地址

访问external_url地址,账号root,密码在/etc/gitlab/initial_root_password

三.gitlab配置

1.修改偏好

偏好设置-修改语言为中文-保存-刷新页面

2.修改密码

配置文件中默认密码将会在24h后被删除

头像-编辑个人资料-密码-修改完退出重新登录

3.创建仓库

4.提交代码

四.jenkins安装

jenkins rpm包下载地址: https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat-stable/jenkins-2.492.2-1.1.noarch.rpm

redhat-stable是红帽的稳定版本

1.安装对应版本的 JDK

yum install -y java-1.8.0-openjdk*# jenkins-2.430-1.1 对应 JDK 版本是 JDK11
yum install -y java-11-openjdk*

2.下载 JenKins 安装包

wget https://mirrors.jenkins-ci.org/redhat/jenkins-2.430-1.1.noarch.rpm --no-check-certificate

3.安装 JenKins

rpm -ivh jenkins-2.430-1.1.noarch.rpm

4.修改 JenKins 配置

vim /usr/lib/systemd/system/jenkins.service

修改信息如下

User=root
Environment="JENKINS_PORT=8888"

5.重启 JenKins

systemctl daemon-reload
systemctl restart jenkins

6.修改防火墙规则将 8888 端口开放

firewall-cmd --add-port=8888/tcp --permanent
firewall-cmd --reload
firewall-cmd --list-ports

7.查看初始密码

cat /var/lib/jenkins/secrets/initialAdminPassword

8.自定义安装插件

Git

GitLab

Localization: Chinese (Simplified)

五.jenkins配置

1.新建item

以静态资源发布为例

2.配置git地址

如果git仓库地址是私有的,必须要有权限才能访问,还要做如下配置

配置分支名字

保存

构建

3.创建脚本文件夹

mkdir /var/lib/jenkins/script

4.修改jenkins用户解释器

grep jenkins /etc/passwd
usermod -s /bin/sh jenkins

5.增加构建步骤

再次构建发现执行成功

六、重点-cicd部署maven项目

1.jenkins安装maven插件

2.服务器安装maven,jdk,git

下载:
wget https://mirrors.aliyun.com/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz
解压:
tar -zxvf apache-maven-3.6.3-bin.tar.gz
进入:
cd  apache-maven-3.6.3
获取路径:
pwd配置环境变量:
vim  /etc/profile配置文件添加下面两行内容:
export MAVEN_HOME=/usr/local/maven/apache-maven-3.6.3
export PATH=$PATH:$MAVEN_HOME/bin刷新环境变量:
source /etc/profile
查看maven版本:
mvn -version

3.jenkins配置maven

系统管理-全局工具配置

4.配置maven的settings.xml

进入到maven目录下的conf目录
编辑:
vim settings.xml新增以下内容
<!--本地仓库-->          <localRepository>/usr/local/maven/repository</localRepository><mirrors><!--阿里云镜像--><mirror><id>aliyun-maven</id><mirrorOf>central</mirrorOf><name>aliyun maven mirror</name><url>http://maven.aliyun.com/nexus/content/groups/public/</url></mirror></mirrors>

5.jenkins配置jdk、Git

注意:都需要取消自动下载。

6.部署maven项目

新建item

配置git仓库地址

跳过test模块

点击保存后构建

7.添加脚本

保存重新构建

http://www.xdnf.cn/news/16901.html

相关文章:

  • win11 命令禁用客户体验改善计划
  • 区块链概述
  • 云计算k8s集群部署配置问题总结
  • ARM Cortex-M 处理器的应用
  • Hive SQL (HQL) 编辑指南
  • vscode cursor配置php的debug,docker里面debug
  • 20250801在Ubuntu24.04.2LTS下编译firefly_itx_3588j的Android12时解决boot.img过大的问题
  • django的数据库原生操作sql
  • PHP在现代Web开发中的应用与优势分析
  • ACS-电机控制Buffer-任意路径规划(PVSPLINE绘制圆形)
  • OCC任务新SOTA!华科提出SDGOCC:语义深度双引导的3D占用预测框架(CVPR 2025)
  • Shader开发(六)什么是着色器
  • SQL数据库连接Python实战:疫情数据指挥中心搭建指南
  • STM32 使用 RTC 实现实时时钟功能
  • 【BFS】P7555 [USACO21OPEN] Maze Tac Toe S|普及+
  • Java Map和Set
  • Redis 初识Redis
  • 校园交友|基于SprinBoot+vue的校园交友网站(源码+数据库+文档)
  • 逻辑回归在银行贷款审批中的应用:参数选择与实践
  • 《人形机器人的觉醒:技术革命与碳基未来》——类人关节设计:柔性驱动革命之液压人工肌肉
  • 【C#学习Day14笔记】泛型、集合(数组列表Arraylist、列表list)与字典
  • 利用 AI 在 iPhone 上实现 App 文本情绪价值评估(上)
  • 数据结构学习基础和从包装类缓存到泛型擦除的避坑指南
  • 九联UNT403HS_海思MV320处理器_安卓9-优盘强刷刷机包
  • 代码随想录算法训练营第三十八天
  • 【机器学习与数据挖掘实战 | 医疗】案例20:基于交叉验证和LightGBM算法的糖尿病遗传风险预测
  • 数据结构 ArrayList与顺序表
  • SELinux 核心概念与访问控制机制解析
  • conda issue
  • gen_compile_commands.sh