Jenkins入门——安装docker版的Jenkins & 配置mvn,jdk等 & 使用案例初步 & 遇到的问题及解决

本文介绍了如何在Docker中安装和配置Jenkins,包括拉取镜像、创建容器、汉化、Maven和JDK配置,以及在实际操作中的打包案例和遇到的问题及其解决方法。

在这里插入图片描述

前言

Jenkins是开源CI&CD软件领导者, 提供超过1000个插件来支持构建、部署、自动化, 满足任何项目的需要。
官网:https://www.jenkins.io/zh/

本篇博客介绍docker版的jenkins的安装和使用,maven、jdk,汉语的配置,期间遇到的各种问题及其解决方案,并给出一个简单的使用案例。

目录

  • 前言
  • 引出
  • 一、安装jenkins
    • 1、拉取镜像及问题
    • 2、创建运行容器
    • 3、首次访问配置
  • 二、配置jenkins
    • 1、汉化
    • 2、mvn的配置
    • 3、配置jdk
  • 三、使用案例
    • 1、设置源码位置
    • 2、构建的步骤
    • 3、构建过程查看
  • 四、遇到的问题集锦
    • 1、打包失败
  • 总结

引出


1.安装docker版本的jenkins;
2.配置jenkins,汉化,配置mvn,配置jdk;
3.拉取开源代码,进行maven的打包案例;
4.遇到的问题及其解决方案;

一、安装jenkins

安装指引: https://www.jenkins.io/zh/doc/book/using/

在这里插入图片描述

1、拉取镜像及问题

在这里插入图片描述

vi  /etc/docker/daemon.json

在这里插入图片描述

{
    "registry-mirrors":
        [
        "https://docker.mirrors.ustc.edu.cn/",
        "https://hub-mirror.c.163.com",
        "https://ung2thfc.mirror.aliyuncs.com",
        "https://registry.docker-cn.com"],

    "live-restore": true,
    "insecure-registries":["10.0.0.12:5000"]

}
systemctl restart docker

在这里插入图片描述

拉取成功

在这里插入图片描述

2、创建运行容器

docker run \
  -u root \
  --name jenkins-blueocean \
  -d \
  -p 8080:8080 \
  -p 50000:50000 \
  -v /usr/local/software/jenkins:/var/jenkins_home \
  -v /var/run/docker.sock:/var/run/docker.sock \
  docker.io/jenkinsci/blueocean

在这里插入图片描述

3、首次访问配置

在这里插入图片描述

查看日志,找到密码

在这里插入图片描述

自动安装一些插件

在这里插入图片描述

创建一个用户,后续登录用这个用户名和密码

在这里插入图片描述

二、配置jenkins

1、汉化

在这里插入图片描述

选择插件进行安装

在这里插入图片描述

进行语言的设置

在这里插入图片描述

2、mvn的配置

采用的是复制压缩包到镜像中,然后解压的方式,可以参考下面博客

Linux安装git和maven——拉取代码 --> mvn打包成jar包 —>运行jar包

在这里插入图片描述

配置一下xml设置文件

在这里插入图片描述

设置maven的安装路径

在这里插入图片描述

3、配置jdk

在这里插入图片描述
输入以下命令进行docker自带的jdk的查找

 which java

在这里插入图片描述

三、使用案例

1、设置源码位置

在这里插入图片描述

2、构建的步骤

clean package -Dmaven.test.skip=true -U

在这里插入图片描述

在这里插入图片描述

docker -v

echo "---------构建成功---------"

在这里插入图片描述

在这里插入图片描述

3、构建过程查看

在这里插入图片描述

在这里插入图片描述

四、遇到的问题集锦

1、打包失败

在这里插入图片描述

[ERROR] Failed to execute goal on project spring-gc-demo: Could not resolve dependencies for project com.tianju:spring-gc-demo:jar:1.0-SNAPSHOT: The following artifacts could not be resolved: org.springframework.boot:spring-boot-starter:jar:2.3.8.RELEASE, org.springframework.boot:spring-boot-autoconfigure:jar:2.3.8.RELEASE, com.fasterxml.jackson.module:jackson-module-parameter-names:jar:2.11.4, org.springframework.boot:spring-boot-starter-tomcat:jar:2.3.8.RELEASE, org.springframework:spring-context:jar:5.2.12.RELEASE: Could not transfer artifact org.springframework.boot:spring-boot-starter:jar:2.3.8.RELEASE from/to central (https://repo.maven.apache.org/maven2): transfer failed for https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter/2.3.8.RELEASE/spring-boot-starter-2.3.8.RELEASE.jar: Connect to repo.maven.apache.org:443 [repo.maven.apache.org/151.101.108.215, repo.maven.apache.org/2a04:4e42:8c:0:0:0:0:215] failed: Network unreachable (connect failed) -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/DependencyResolutionException
Build step 'Invoke top-level Maven targets' marked build as failure

解决方法:
配置一下阿里云的地址

在这里插入图片描述

    <mirror>
        <id>aliyunmaven</id>
        <mirrorOf>central</mirrorOf>
        <name>阿里云公共仓库</name>
        <url>https://maven.aliyun.com/repository/public</url>
    </mirror>

总结

1.安装docker版本的jenkins;
2.配置jenkins,汉化,配置mvn,配置jdk;
3.拉取开源代码,进行maven的打包案例;
4.遇到的问题及其解决方案;

&lt;think&gt;嗯,用户问的是如何在Docker安装Jenkins配置JDK和Maven。首先,我得回想一下JenkinsDocker中的常规安装方法。通常,用户可能使用了官方的Jenkins镜像,比如jenkins/jenkins:lts。但官方镜像可能没有预装JDK和Maven,特别是特定本的话,需要自己配置。 第一步,可能需要考虑是否需要自定义Docker镜像。如果用户希望每次启动容器时都自动拥有所需的JDK和Maven,那么创建一个自定义的Dockerfile可能是最佳选择。这需要基于官方镜像,安装所需的软件包,比如下载JDK和Maven的压缩包,解压并设置环境变量。不过,用户可能对Dockerfile的编写不太熟悉,需要详细说明步骤,比如使用apt-get安装必要的工具,下载特定本的JDK和Maven,设置JAVA_HOME和MAVEN_HOME等。 另外,用户可能更倾向于在容器内部手动配置,而不想重新构建镜像。这时候,就需要指导用户进入容器内部,通过命令行安装JDK和Maven,或者上传文件到容器中。比如,使用docker exec进入容器,然后下载并解压JDK和Maven,配置环境变量。不过,这种方法在容器重启后可能会丢失配置,所以需要提醒用户注意数据持久化的问题,比如挂载卷或者将配置写入profile文件。 还有一种情况是,用户可能希望使用Jenkins的插件来管理工具,比如通过&ldquo;全局工具配置&rdquo;安装JDK和Maven。这时候,需要指导用户在Jenkins的Web界面中,进入&ldquo;Manage Jenkins&rdquo; -&gt; &ldquo;Tools&rdquo; -&gt; 添加JDK和Maven,指定名称和本,并可能需要自动安装或者手动指定路径。但这里有个问题,自动安装可能需要网络连接,而手动安装则需要容器内已有这些工具的路径,所以可能需要结合前面的步骤,先在容器内安装好,然后在Jenkins配置中指定路径。 另外,数据卷的使用也很重要。如果用户希望持久化Jenkins的数据,比如插件和配置,应该在运行容器时挂载卷,比如-v jenkins_home:/var/jenkins_home。这样,即使容器重启,配置也不会丢失。同时,如果用户自定义了JDK和Maven的路径,可能需要将这些工具安装在挂载的卷中,或者将环境变量配置Jenkins的启动脚本中。 可能还需要考虑用户对DockerJenkins的熟悉程度。如果用户不太熟悉Docker,可能需要更详细的步骤,比如如何构建镜像,如何运行容器,如何进入容器执行命令。同时,注意权限问题,比如在容器内使用apt-get可能需要root权限,而Jenkins官方镜像可能默认使用jenkins用户,可能需要切换到root用户进行安装。 总结下来,解决方案可能有三种:1)自定义Dockerfile构建包含所需工具的新镜像;2)进入容器手动安装配置;3)通过Jenkins的全局工具配置,结合自动安装或手动路径指定。需要分步骤详细说明每种方法的操作步骤,并比较它们的优缺点,比如自定义镜像更持久,手动安装可能每次重启需要重新配置,而全局工具配置可能需要前置条件。 还需要提醒用户检查环境变量是否正确,比如在Jenkins的系统配置中,或者在构建任务中指定JDK和Maven路径。另外,可能存在的常见问题,比如路径错误,权限不足,或者工具本不兼容,也需要给出排查建议,比如查看日志,验证命令是否在容器内可用等。 最后,应该以结构化的方式呈现这些步骤,让用户能够逐步操作,并确保他们理解每一步的作用,以及不同方法的适用场景。&lt;/think&gt;### Docker安装Jenkins配置JDK和Maven步骤 --- #### **一、核心思路** 在Docker容器中配置JDK和Maven有两种主要方式: 1. **自定义Docker镜像**:通过编写`Dockerfile`将JDK和Maven集成到镜像中。 2. **容器内手动配置**:进入已运行的Jenkins容器内部,直接安装工具。 --- #### **二、方法1:自定义Docker镜像(推荐)** **适用场景**:需要长期使用固定本的JDK和Maven。 **步骤**: 1. **创建`Dockerfile`**: ```dockerfile FROM jenkins/jenkins:lts USER root # 安装JDK(以JDK 11为例) RUN apt-get update &amp;&amp; \ apt-get install -y openjdk-11-jdk # 安装Maven(以Maven 3.8.6为例) ARG MAVEN_VERSION=3.8.6 RUN wget https://archive.apache.org/dist/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.tar.gz &amp;&amp; \ tar -xzf apache-maven-${MAVEN_VERSION}-bin.tar.gz -C /opt &amp;&amp; \ mv /opt/apache-maven-${MAVEN_VERSION} /opt/maven &amp;&amp; \ rm apache-maven-${MAVEN_VERSION}-bin.tar.gz # 设置环境变量 ENV JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64 ENV MAVEN_HOME=/opt/maven ENV PATH=$PATH:$MAVEN_HOME/bin USER jenkins ``` 2. **构建镜像并运行容器**: ```bash docker build -t my-jenkins:jdk11-maven3.8 . docker run -d -p 8080:8080 -v jenkins_home:/var/jenkins_home --name my-jenkins my-jenkins:jdk11-maven3.8 ``` --- #### **三、方法2:容器内手动配置** **适用场景**:临时调试或测试不同本工具。 **步骤**: 1. **进入运行中的Jenkins容器**: ```bash docker exec -it -u root &lt;容器ID或名称&gt; /bin/bash ``` 2. **安装JDK**: ```bash apt-get update &amp;&amp; apt-get install -y openjdk-11-jdk ``` 3. **安装Maven**: ```bash wget https://archive.apache.org/dist/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 -C /opt mv /opt/apache-maven-3.8.6 /opt/maven export MAVEN_HOME=/opt/maven export PATH=$PATH:$MAVEN_HOME/bin ``` 4. **验证安装**: ```bash java -version mvn -v ``` --- #### **四、Jenkins全局工具配置** **说明**:无论通过哪种方式安装工具,需在Jenkins界面中关联路径。 1. **进入Jenkins管理界面**: - 访问 `http://&lt;服务器IP&gt;:8080` - **Manage Jenkins** &rarr; **Tools** 2. **配置JDK**: - **JDK installations** &rarr; **Add JDK** - 取消勾选 **Install automatically** - 输入自定义名称(如 `JDK11`) - `JAVA_HOME`路径填写容器内的路径(例如:`/usr/lib/jvm/java-11-openjdk-amd64`) 3. **配置Maven**: - **Maven installations** &rarr; **Add Maven** - 取消勾选 **Install automatically** - 输入自定义名称(如 `Maven3.8`) - `MAVEN_HOME`路径填写容器内的路径(例如:`/opt/maven`) --- #### **五、验证配置** 1. **创建Maven项目**: - 新建任务 &rarr; 选择Maven项目 2. **在项目配置中**: - 选择已配置JDK和Maven本 - 执行简单构建命令(如 `mvn clean install`) --- #### **六、注意事项** 1. **数据持久化**:务必挂载卷(`-v jenkins_home:/var/jenkins_home`)避免数据丢失。 2. **权限问题**:容器内操作可能需要`root`权限(通过`USER root`切换)。 3. **本兼容性**:确保JDK和Maven本与项目需求一致。 通过以上步骤,即可在DockerJenkins中灵活配置JDK和Maven环境。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Arya's Blog

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值