写点什么

Linux Docker 中安装 Jenkins 并实现 Maven 工程自动化部署

发布于: 2021 年 08 月 10 日
Linux Docker 中安装 Jenkins 并实现 Maven 工程自动化部署

我是陈皮,一个在互联网 Coding 的 ITer,微信搜索「陈皮的 JavaLib」第一时间阅读最新文章喔!


1:在 Linux 命令行执行以下命令启动 Jenkins,该命令如果发现本地没有 Jenkins 镜像会先去拉取镜像。注意,此教程基于 Linux 已经安装完 Docker。docker run -p 8080:8080 -p 50000:50000 -v jenkins_data:/var/jenkins_home jenkinsci/blueocean



2:关闭防火墙 systemctl stop firewalld.service(如果这此行执行后报错 Failed to stop firewalld.service: Unit firewalld.service not loaded.,先执行 systemctl mask firewalld 再执行 systemctl stop firewalld.service)


3: 访问 http://jenkins 所在主机 ip:8080



3:解锁 Jenkins,使用以下命令进入 Jenkins 容器,然后再执行第二行命令获取秘钥 docker exec -it 容器 ID /bin/bashcat /var/jenkins_home/secrets/initialAdminPassword


4:输入秘钥后,出现如下界面(推荐选择第一种),选择后等待插件安装后,创建用户就好了。





5:配置 Jenkins JDK 和 MavenJenkins 容器已经下载好了 jdk,通过 java -version 可以查看。通过 echo $JAVA_HOME 可以查看 jdk 安装目录。Maven 我使用的是 3.6.3 版本的。





6:安装 Maven 插件,在 Manage Jenkins - Manage Plugins - 可选插件中安装 Maven Integration,安装后再新建任务就出现了 Maven 项目可选项。




7:将代码 push 到码云(可根据自己选择不同的代码库例如 Git、GitHub 等)7.1 首先在码云上新建仓库



7.2:将本地代码 push 到码云,右键工程 Team - share project,出现下面界面按顺序点击。然后再进行 commit 和 push 操作,URL 填从码云复制的 URL。





第一次提交会出现以下报错,因为是没有选择提交分支。



解决方案:右键工程 Team - Remote - Push,再按如下操作即可将代码 push 到码云。



8:Jenkins 配置码云 8.1:新建 maven 工程



8.2:添加码云工程代码连接,注意,credentials 里面的用户名和密码是码云的账号密码。Build 中的命令根据工程来,此处本测试工程 pom 文件是 maven 最初始化的,故一个 clean package 命令够了。




8.3:Post Steps 选择执行 shell。此步骤是在打包完后进行的操作,即启动工程。


!/bin/bash

#服务名称 SERVER_NAME=jenkins-maven-server#工程所在路径(根据自己情况进行调整)APP_HOME=pwd#maven 打包后的 jar 包名 JAR_NAME=jenkins-maven-server-0.0.1-SNAPSHOT.jar#jar 包的目录 JAR_PATH=${APP_HOME}/target


#杀死之前的进程 PID_FILE="{SERVER_NAME}".pidif [ -f "${PID_FILE}" ];thenPID=cat "$PID_FILE" && kill -9 PID && echo "kill process "{PID}" finished!"fi


cd $JAR_PATH


#修改文件权限 chmod 755 $JAR_NAME


#启动服务 BUILD_ID=dontKillMe nohup java -jar $JAR_NAME &


#将新进程 ID 写到文件中 JAVA_PID={JAVA_PID}" > "${PID_FILE}"


8.4:保存好工程配置后,点击立即构建,即可进行代码拉取、构建打包、启动服务。



8.5:最后在浏览器访问你的工程接口就可以了。



注意:在启动容器的时候需要将你工程的端口加上,这样外界才能访问你的工程。例如这里的是 10858。docker run -p 8080:8080 -p 10858:10858 -p 50000:50000 -v jenkins_data:/var/jenkins_home jenkinsci/blueocean



发布于: 2021 年 08 月 10 日阅读数: 3
用户头像

CSDN博客专家,微信搜一搜 - 陈皮的JavaLib 2020.02.22 加入

CSDN博客专家,专注各项技术领域的Java开发工程师,微信搜一搜【陈皮的JavaLib】,关注后学习更多技术文章和一线大厂面试资料和技术电子书籍。

评论

发布
暂无评论
Linux Docker 中安装 Jenkins 并实现 Maven 工程自动化部署