docker

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > 云和虚拟化 > docker > Docker安装Jenkins部署Maven

Docker安装Jenkins并部署Maven项目详细教程

作者:唯有代码不会骗人

这篇文章主要给大家介绍了关于Docker安装Jenkins并部署Maven项目的相关资料,持续集成、持续交付不仅可以提示开发效率,还可以节省很多测试和运维的成本,需要的朋友可以参考下

一、前言

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

二、Docker 拉取镜像

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

docker pull jenkins/jenkins:2.344

需要稍微等一会,等待拉取完成。

镜像下载完成后,我们可以通过如下命令查看我们 docker 中的所有镜像。

docker images

这里可以看到我们刚才拉取的 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

命令解释:

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

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

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

which java

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

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

which mvn

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

四、访问Jenkins

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

docker ps

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

docker ps -a

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

解锁Jenkins

如果我们的容器启动成功,那么我们直接访问 本地的ip:9999 即可查看到当前页面。

此时我们如果直接在本地输入命令 cat /var/jenkins_home/secrets/initialAdminPassword 是查看不到的,因为该路径是容器内部的路径,我们需要先进入容器内部,再输入该命令,才能够成功看到密码。

进入容器命令:

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

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

docker exec -it jenkins bash

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

cat /var/jenkins_home/secrets/initialAdminPassword

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

自定义Jenkins

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

创建第一个管理员用户

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

配置实例

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

Jenkins 已就绪

点击 “开始使用Jenkins”,就可以进入到 Jenkins 的页面了。

五、Jenkins 配置

安装Maven插件

Maven插件默认是不会给我们安装的,因此我们需要自己安装。

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

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

全局配置

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

在这里我们需要配置JDK、Git、Maven。

JDK

点击 “JDK安装”

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

/usr/local/java/jdk-11.0.18

GIT

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

Maven

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

MAVEN_HOME在我们运行容器映射的地址为:

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

我们填上即可。

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

六、部署Maven项目

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

新建Maven项目

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

配置Git仓库

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

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

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

配置Maven构建参数

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

clean install -Dmaven.test.skip=true

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

查看控制台输出:

启动项目

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

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

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连接到其他服务器去部署项目。大致的流程为:

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

写好之后直接应用、保存。然后重新构建项目,这里就能够直接访问8888端口了。

由此,整个Maven项目构建完成。

总结

到此这篇关于Docker安装Jenkins并部署Maven项目详细教程的文章就介绍到这了,更多相关Docker安装Jenkins部署Maven内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文