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

Centos7下docker的jenkins下载并配置jdk与maven

在CentOS 7环境下,通过Docker部署Jenkins并为其配置Java Development Kit (JDK) 与Apache Maven,是构建持续集成/持续部署(CI/CD)环境的常见步骤。下面是详细的操作指南,旨在帮助您顺利完成这一过程。

步骤1: 安装Docker

确保您的CentOS系统已安装Docker。如果尚未安装,可以通过以下命令完成安装:

sudo yum update -y
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install -y docker-ce docker-ce-cli containerd.io
sudo systemctl start docker
sudo systemctl enable docker
 

步骤2: 下载并运行Jenkins Docker镜像

接下来,从Docker Hub获取官方的Jenkins镜像并运行一个容器。为了方便后续配置,我们使用卷挂载和端口映射。

docker pull jenkins/jenkins:lts
docker run -d --name my-jenkins -p 8080:8080 -p 50000:50000 -v /var/jenkins_home:/var/jenkins_home jenkins/jenkins:lts
 

步骤3: 安装JDK

进入Jenkins容器内部安装JDK。首先,找到容器的ID:

docker ps -a

然后,使用 docker exec命令进入容器:

docker exec -it <container-id> bash

在容器内部,使用以下命令安装OpenJDK:

yum install -y java-1.8.0-openjdk-devel
java -version

步骤4: 安装Maven

继续在容器内部,安装Apache Maven:

wget https://downloads.apache.org/maven/maven-3/3.8.6/binaries/apache-maven-3.8.6-bin.tar.gz
tar -xzf apache-maven-3.8.6-bin.tar.gz
mv apache-maven-3.8.6 /usr/local/maven
echo 'export MAVEN_HOME=/usr/local/maven' >> ~/.bashrc
echo 'export PATH=$PATH:$MAVEN_HOME/bin' >> ~/.bashrc
source ~/.bashrc
mvn -version

配置Jenkins

  • 退出容器后,通过浏览器访问 http://your-server-ip:8080,按照Jenkins的引导过程完成初始化设置。
  • 登录后,可以通过安装“Manage Jenkins” -> “Global Tool Configuration”来配置JDK和Maven路径,确保Jenkins能找到这些工具。

分析说明

  • Docker容器化:利用Docker容器化Jenkins可以简化环境配置过程,便于迁移和复制。
  • JDK版本选择:根据项目需求选择合适的JDK版本,这里以OpenJDK 8为例,因其广泛兼容性。
  • Maven版本:选择最新稳定版(如3.8.6)以获取最佳性能和特性支持。
  • 环境变量配置:通过修改 .bashrc文件确保JDK和Maven的路径被正确添加到系统路径中,便于全局访问。
http://www.gsyq.cn/news/19559.html

相关文章:

  • The 2024 ICPC Asia Shanghai Regional Contest
  • 27. 移除元素 暴力+快慢指针+相向双指针
  • 【教程】无需第三方应用,Windows自带邮箱如何绑定QQ邮箱等第三方邮箱
  • ubuntu默认桌面解决vnc灰屏
  • 2025婚纱摄影影楼权威推荐榜:专业团队与创意拍摄打造梦幻婚礼
  • 智能(embodied AI)、机器人视觉 + 交互、边缘 AI
  • 【PolarCTF】stackof
  • C# console get current screen DPI from user32.dll and gdi32.dll
  • [GenAI] RAG架构演进
  • 基于 Rust 的英文数字验证码识别系统设计与实现
  • 让我们开始 CSS 的学习之旅
  • Linux环境下的UDEV机制及其与守护进程的关联
  • 查寻MySQL或SQL Server的连接数,并配置超时时间和最大连接量
  • 深入理解MySQL的MVCC(多版本并发控制)实现原理
  • Kubernetes环境下Nginx代理Nacos服务请求故障诊断
  • SSL/TLS协议如何确保HTTP通信的安全
  • 2023-网鼎杯web-platfrom
  • 区分iBatis与MyBatis:两个Java数据库框架的比较
  • JavaScript加密与解密技术:Hook技术应用案例分析
  • Oracle数据库创建表空间和索引的SQL语法示例
  • 2025无锡考编培训机构权威推荐榜:专业辅导与高通过率口碑之
  • 论人工智能,对人类生产的影响。
  • Codeforces Round 991 (Div. 3) vp 题解
  • 完整教程:prompt提示词工程---如何让大模型更听得懂人话
  • 2025年扁钢厂家最新权威推荐榜:强度与精度双重保障的工业脊
  • 2025防爆数粒机厂家权威推荐榜:高效精准与安全防爆口碑之选
  • Linux系统设置与理解主机名(hostname)的重要性
  • 基于GPT2搭建医疗问诊机器人
  • 安装pytorch(win 11 +3060 laptop)
  • Real English Questions and Answers Practice