Docker 安装 Jenkins 并部署 Maven 项目

这篇具有很好参考价值的文章主要介绍了Docker 安装 Jenkins 并部署 Maven 项目。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、前言

在开始之前,我们需要保证系统中已经安装了Docker、JDK、Maven。


二、Docker 拉取镜像

我这里使用的是 2.344 版本的 Jenkins,拉取命令如下:

docker pull jenkins/jenkins:2.344

需要稍微等一会,等待拉取完成。
镜像下载完成后,我们可以通过如下命令查看我们 docker 中的所有镜像。

docker images

docker安装jenkins配置maven,jenkins,docker,maven
这里可以看到我们刚才拉取的 2.344版本的 Jenkins 镜像。


三、运行容器

下载镜像成功后,我们需要用此镜像运行一个容器,命令如下:

docker run \
-d \
--name jenkins \
-u 0 \
-p 9999:8080 \
-p 8888:8888 \
-p 50000:50000 \
-v /usr/local/java/jdk-11.0.18:/usr/local/java/jdk-11.0.18 \
-v /usr/local/maven/apache-maven-3.6.1:/usr/local/maven/apache-maven-3.6.1 \
-v /home/jenkins_home:/home/jenkins_home \
jenkins/jenkins:2.344

命令解释:

  • -d:在后台运行
  • --name:为我们当前运行的容器取一个名称
  • -u:以某个用户的身份启动(此处的 0 代表是 root 用户,而如果不加该命令,jenkins 启动会默认以 1000 的用户 jenkins 启动,这样会导致某些文件夹的读写权限不足问题,因此建议加上 -u 0 命令启动容器)
  • p:指定映射的IP和端口,前者为本地系统的端口号,后者为容器内部的端口号。以 -p 9999:8888 举例,8888为容器内的端口号,而9999为容器内端口号映射到本地系统(容器外部)的端口,即我们访问本地系统的9999端口,实际会映射到容器内部的8888端口上。此处开放8888端口是因为后面构建项目时,项目的端口也为8888,避免重新给容器开放端口映射。
  • -v:绑定数据卷,拿 -v /usr/local/java/jdk-11.0.18:/usr/local/java/jdk-11.0.18 举例:表示将本地系统的 /usr/local/java/jdk-11.0.18 映射到 容器内部的 /usr/local/java/jdk-11.0.18

最后的 jenkins/jenkins:2.344 表示当前启动的容器是基于哪个镜像的,语法 Repository:Tag,如果当前的镜像是唯一的,也可以不用加Tag。

此处我将本地系统的 jdk11 和 maven 都映射到了 当前启动的容器中,而路径我为了便于统一(容器内的路径可以随便自定义),容器内的路径设置为和容器外一样的路径。

/usr/local/java/jdk-11.0.18 路径为本地系统JAVA_HOME 配置的路径,如果忘记了配置的路径,可以通过如下命令查看:

which java

docker安装jenkins配置maven,jenkins,docker,maven
我们复制路径到bin目录的上一级即可,如此处为:/usr/local/java/jdk-11.0.18

/usr/local/maven/apache-maven-3.6.1 路径为本地系统JAVA_HOME 配置的路径,如果忘记了配置的路径,可以通过如下命令查看:

which mvn

docker安装jenkins配置maven,jenkins,docker,maven
同理,复制到 bin 目录的上一层即可,此处为:/usr/local/maven/apache-maven-3.6.1

四、访问Jenkins

当我们输入上述的 docker run 命令后,会生成一个容器,我们可以通过命令查看当前启动的容器:

docker ps

docker安装jenkins配置maven,jenkins,docker,maven
如果某些同学输入命令后,没有看到该信息,那说明我们的容器运行失败了,可以通过如下命令查看所有容器的状态:

docker ps -a

docker安装jenkins配置maven,jenkins,docker,maven
这里的 STATUS 大概率会显示 Exit… 表明你的容器启动失败。我们可以查看具体原因。

解锁Jenkins

如果我们的容器启动成功,那么我们直接访问 本地的ip:9999 即可查看到当前页面。
docker安装jenkins配置maven,jenkins,docker,maven
此时我们如果直接在本地输入命令 cat /var/jenkins_home/secrets/initialAdminPassword 是查看不到的,因为该路径是容器内部的路径,我们需要先进入容器内部,再输入该命令,才能够成功看到密码。

进入容器命令:

docker exec -it 容器id/容器名称 bash

你可以输入的容器id或者容器名称,我一般习惯输入容器名称,如果你的 docker run 命令和我一样,那么可以直接复制如下命令进入容器内部:

docker exec -it jenkins bash

docker安装jenkins配置maven,jenkins,docker,maven

成功进入容器后,我们在输入如下命令查看初始密码:

cat /var/jenkins_home/secrets/initialAdminPassword

docker安装jenkins配置maven,jenkins,docker,maven

我们复制打印出来的密码,粘贴到网页,点击“继续”,进行下一步操作。

自定义Jenkins

docker安装jenkins配置maven,jenkins,docker,maven
此处我建议点击“安装推荐的插件”的选项。然后耐心等待,有可能部分插件会安装失败,因为此处的下载源在国外。部分插件安装失败,我们可以点击重试,如果多次重试仍然失败(就是我本人),我们直接点击下一步。

创建第一个管理员用户

docker安装jenkins配置maven,jenkins,docker,maven

这里可以输入你想创建的账号,输入完毕后,点击保存并完成。

配置实例

docker安装jenkins配置maven,jenkins,docker,maven

这里默认即可,点击保存并完成。

Jenkins 已就绪

docker安装jenkins配置maven,jenkins,docker,maven
点击 “开始使用Jenkins”,就可以进入到 Jenkins 的页面了。


五、Jenkins 配置

安装Maven插件

Maven插件默认是不会给我们安装的,因此我们需要自己安装。
首先点击左侧 “Manage Jenkins”,然后找到 “Manage Plugins”并点击,
docker安装jenkins配置maven,jenkins,docker,maven

然后点击“可选插件”并输入 maven,找到如下插件 Maven Integration plugin,点击下面的 Install without restart。

docker安装jenkins配置maven,jenkins,docker,maven

全局配置

docker安装jenkins配置maven,jenkins,docker,maven

首先点击左侧 “Manage Jenkins”,然后找到 “Global Tool Configuration”并点击,

docker安装jenkins配置maven,jenkins,docker,maven
在这里我们需要配置JDK、Git、Maven。

JDK

点击 “JDK安装”
docker安装jenkins配置maven,jenkins,docker,maven

输入别名及JAVA_HOME,这里的JAVA_HOME对应的是我们docker容器内部的JAVA_HOME,而我们在第三步将运行容器,将 java 映射的地址为 /usr/local/java/jdk-11.0.18(根据你 docker run 时的配置填写),因此这里直接上即可,如图:

/usr/local/java/jdk-11.0.18

docker安装jenkins配置maven,jenkins,docker,maven

GIT

Git会在我们自定义Jenkins时安装插件的时候,自动帮我们安装,此处我们无需填写,默认即可。

docker安装jenkins配置maven,jenkins,docker,maven

Maven

同理,此处需要填写maven的别名和MAVEN_HOME.

docker安装jenkins配置maven,jenkins,docker,maven
MAVEN_HOME在我们运行容器映射的地址为:

/usr/local/maven/apache-maven-3.6.1

我们填上即可。

最后我们点击应用,然后点击保存即可。


六、部署Maven项目

首先,回到Jenkins首页,点击“+新建任务”,如图:

新建Maven项目

docker安装jenkins配置maven,jenkins,docker,maven

输入我们项目的名称,点击构建一个Maven项目,然后点击确定,如图:

docker安装jenkins配置maven,jenkins,docker,maven

配置Git仓库

首先配置我们的Git仓库地址,此处我用的是自己开源的项目,所以无需填写凭证,如果大家的项目需要凭证,可以自行添加:

docker安装jenkins配置maven,jenkins,docker,maven
添加凭证非常简单,我相信都会,填好需要的账号密码点击保存即可。

docker安装jenkins配置maven,jenkins,docker,maven
当我们添加完后,URL下方没有出现红色的错误提示表示能够正常连接到该仓库了,可以继续配置仓库分支,这里我选用的是一个 helloworld 的分支,大家根据实际情况自行填写:

docker安装jenkins配置maven,jenkins,docker,maven

配置Maven构建参数

接下来就是配置Maven,对项目进行打包,Root POM 不用修改,就用 pom.xml,而 Goals and options 我们填写:

clean install -Dmaven.test.skip=true

docker安装jenkins配置maven,jenkins,docker,maven
这时候Maven的最基本配置就完成了。大家可以点击应用,并保存,开始构建项目,看看能不能打包成功。

docker安装jenkins配置maven,jenkins,docker,maven

查看控制台输出:

docker安装jenkins配置maven,jenkins,docker,maven

docker安装jenkins配置maven,jenkins,docker,maven

启动项目

这样就代表成功了,接下来就开始启动项目了,点击项目,打开左侧的配置,依次选择 Post Steps -> Add post build steps -> 执行shell

docker安装jenkins配置maven,jenkins,docker,maven
填上我们的启动脚本,这里只是最简单的脚本,大家可以根据实际情况填写:

cd /var/jenkins_home/workspace/flowable_study/target
nohup java -jar flowable_study-1.0-SNAPSHOT.jar >flowable_study.log &2>1 &

注意:我这里是在docker容器内部运行的java项目,大部分实际情况是需要通过jenkins连接到其他服务器去部署项目。大致的流程为:

  • 将容器内的jar包拷贝到目标服务器
  • 切换目录,杀掉当前正在运行的项目
  • 启动项目

我这里只做最基本的部署演示,因此就不弄那么麻烦。同时我这里项目的端口号为8888,我在创建容器,使用 docker run 时,已经将容器内的8888端口映射到宿主机的8888端口了。

写好之后直接应用、保存。然后重新构建项目,这里就能够直接访问8888端口了。
docker安装jenkins配置maven,jenkins,docker,maven
由此,整个Maven项目构建完成。文章来源地址https://www.toymoban.com/news/detail-537821.html

到了这里,关于Docker 安装 Jenkins 并部署 Maven 项目的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • docker部署jenkins且jenkins中使用docker去部署项目

    2.346.1是最后一个支持jdk8的 在这个目录中新增data文件夹,注意data是用来跟docker中的文件进行映射的 docker-compose.yml docker-compose up -d 安装插件,如果插件失败,在这里面去修改 https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json jdk地址: https://repo.huaweicloud.com/java/jdk/8u202-b

    2024年02月13日
    浏览(45)
  • 记录使用jenkins配置maven,并且打包,部署,发布maven项目的过程

    专栏的前面几篇博客已经把jenkins和gitlab集成起来了,接着我们开始打包,部署发布maven项目 首先在jenkins中安装maven,docker安装的maven默认安装了java,但是没有安装maven,所以这里我们需要自己进入到jenkins容器中,然后安装maven。 我这里的maven是自己在官网传送门下载的最新版

    2024年02月02日
    浏览(84)
  • Docker安装Jenkins、附带JDK、Maven环境等

    场景: Jenkins的应用场景想必不用多说了吧,有多方便老司机都懂,废话不多说直接安装 环境: CentOS 8.x Jenkins latest 宿主机前置安装: 1、Java 2、Maven 3、Git 一、拉取镜像 1、jenkins的官方镜像  2、拉取 latest 版本镜像,(2.363版本兼容性也不错,推荐) 二、创建 Jenkins 环境配置

    2024年02月04日
    浏览(48)
  • Docker使用Jenkins部署项目

    Docker安装及配置移步Docker安装及配置 目录 1.拉取Jenkin镜像 2.运行启动Jenkins 3.访问Jenkins 4.配置Jenkins 插件下载  配置 5.配置Git仓库拉代码构建 6.测试构建   可通过以下命令查看镜像 记得在防火墙开启对应端口 说明: 命令         作用 -d  容器后台运行 --name jenkins 容器名

    2024年02月11日
    浏览(46)
  • 五.docker+jenkins自动部署项目

    一.敏捷开发相关概念 1.微服务的痛点 再来看一下我们的微服务架构 , 每个组件都需要服务器去部署,加起来可能需要几十个甚至上百个服务器。 这样的微服务项目在部署上会遇到什么问题? 需要很多很多的服务器,服务器的采购安装,布线都很麻烦 每个服务都需要:编译

    2024年02月03日
    浏览(50)
  • 【微服务部署】三、Jenkins+Maven插件Jib一键打包部署SpringBoot应用Docker镜像步骤详解

      前面我们介绍了K8S+Docker+Maven插件打包部署SpringCloud微服务项目,在实际应用过程中,很多项目没有用到K8S和微服务,但是用到了Docker和SpringBoot,所以,我们这边介绍,如果使用Jenkins+jib-maven-plugin插件打包部署SpringBoot项目的Docker镜像。   网上有多种Docker打包插件使用说

    2024年02月09日
    浏览(41)
  • jenkins部署docker挂载springboot项目

    需要:         jenkins的docker-compose  version: \\\"3\\\"  # Docker Compose文件版本 services:  # 定义服务   jenkins:  # Jenkins服务配置     container_name: jenkins  # 指定容器名称为jenkins     image: jenkins/jenkins:2.426.2-lts-jdk11  # 使用jenkins/jenkins:lts镜像 版本可以去docker镜像查看最新版本     user:

    2024年02月04日
    浏览(43)
  • Docker+Jenkins+Gitee+Pipeline部署项目

    Hello,各位小伙伴大家好。😄 在上一篇文章【Docker+Jenkins+Gitee自动化部署maven项目】中,咱们详细介绍了如何自动化部署maven项目,如果说你的项目仅仅为maven项目,那么这种部署方式是很契合的,如果我们想要支持更多类型的项目,这种方式就显得有点捉襟见肘了。于是乎,

    2024年02月07日
    浏览(38)
  • 使用Docker安装部署Jenkins

    本文主要记录如何通过docker安装jenkins,并且通过jenkins部署项目 前置准备 : jenkins所在宿主服务器首先安装好jdk、maven 注意:选择适合自己的JDK,并且注意安装JDK的系统 地址:https://www.oracle.com/java/technologies/downloads/#java8 1、卸载linux系统自带的JDK(建议直接用超级用户,不然卸

    2024年02月08日
    浏览(45)
  • Jenkins + Docker + Maven + Windows 一键部署 Spring Boot 程序到远程 Linux 服务器

    本地:Windows 10 ; 本地:Jenkins + Publish Over SSH 插件; 本地:Maven ; 远程:Linux ; 远程:Docker ; 准备步骤 使用 Dockerfile 构建镜像; 基本思路 第一步:使用 mvn clean package -DskipTests 打包 Spring Boot 程序为 jar 包; 第二步:使用 Windows 命令将 jar 包复制到 jenkins 项目工作目录;

    2024年02月12日
    浏览(67)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包