【工具】Docker安装Jenkins并部署Java项目

【工具】Docker安装Jenkins并部署Java项目

1. 前置条件

准备一台云服务器或本地虚拟机,保证必须要java环境,一键安装jdk:

yum install -y java-1.8.0-openjdk.x86_64

2. 安装

1)拉取镜像:

docker pull jenkins/jenkins:lts

2)运行容器:

docker run -d -u root -p 8080:8080 -p 50000:50000 -v /var/jenkins_home:/var/jenkins_home -v /etc/localtime:/etc/localtime --name jenkins jenkins/jenkins:lts

3)运行成功后,通过浏览器访问Jenkins,弹出如下画面:

image-20240531174239366

在控制台中输入如下命令即可查看密码:

cat /var/jenkins_home/secrets/initialAdminPassword

选择”安装推荐的插件“:

image-20240531174419994

等待安装:

image-20240531174443691

然后就是傻瓜式操作,完成安装。

image-20240531175638075

3. 创建项目

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

输入任务名,任意,然后点击确定:

image-20240531180123963

输入仓库地址和用户名密码:

image-20240531180749708

选择构建步骤:

image-20240531181027867


3.1 配置Maven

直接将maven文件拖到Jenkins挂载的目录下:

image-20240531181750541

注意:拉到linux服务器上的maven的配置文件setting.xml的仓库地址要改成linux的路径地址,否则会报错。

配置Jenkins的maven:

image-20240531181934483

image-20240531182057437

点击保存。


3.2 构建项目

进入工作台,点击构建按钮:

image-20240531182214969

构建成功之后就等于打包成功了。


3.3 自动部署

在系统管理中添加如下配置:

image-20240531214629122

增加构建步骤配置,如下图所示:

image-20240531213553112

image-20240531215242372

具体脚本如下所示:

cp /var/jenkins_home/workspace/zhj-club-subject/zhj-club-subject/zhj-club-starter/target/zhj-club-starter.jar /var/jenkins_home/jar/
#!/bin/bash
APP_NAME=zhj-club-starter.jar
LOG_NAME=zhj-club-starter.log

pid=`ps -ef | grep $APP_NAME | grep -v grep|awk '{print $2}'`

function is_exist(){
pid=`ps -ef | grep $APP_NAME | grep -v grep|awk '{print $2}'`
if [ -z ${pid} ]; then
String="notExist"
echo $String
else
String="exist"
echo $String
fi
}

str=$(is_exist)
if [ ${str} = "exist" ]; then
echo " 检测到已经启动的程序,pid 是 ${pid} "
kill -9 $pid
else
echo " 程序没有启动了 "
echo "${APP_NAME} is not running"
fi

str=$(is_exist)
if [ ${str} = "exist" ]; then
echo "${APP_NAME} 已经启动了. pid=${pid} ."
else
source /etc/profile
BUILD_ID=dontKillMe
nohup java -Xms300m -Xmx300m -jar /var/jenkins_home/jar/$APP_NAME   >$LOG_NAME 2>&1 &
echo "程序已重新启动..."
fi

再次构建项目,此时Jenkins就不止会打包项目,还会启动项目。

注意:确保目录脚本文件中的目录已经创建,否则不会启动项目。

发现项目已经运行起来了:

image-20240531222740524

### 将 Jenkins 安装Docker 用于部署 Java 项目的流程 #### 使用 Docker 安装 Jenkins 为了在 Docker安装 Jenkins,可以通过执行特定的 Docker 命令来快速启动带有预配置设置的 Jenkins 实例。输入如下命令以创建运行名为 `jenkins` 的容器: ```bash docker run -d --restart=always --name jenkins -u root -p 8080:8080 -p 50000:50000 jenkinsci/blueocean ``` 这条命令会拉取官方提供的最新版 Jenkins 蓝洋插件镜像,将其映射至主机端口 8080 和 50000 上[^3]。 #### 构建支持 Java 开发环境的 Jenkins Slave 镜像 对于 Java 项目来说,在构建过程中通常还需要 JDK 或 Maven 等工具的支持。因此建议准备一个自定义的基础镜像作为 Jenkins Agent 来处理实际编译工作。这涉及到下载必要的 SDKs 及其他依赖项,确保这些资源被正确打包进最终使用的 Dockerfile 文件里[^4]。 #### 创建 CI/CD 流水线脚本 一旦有了上述基础架构之后,则可以在 Jenkins 中编写 Groovy DSL 形式的 pipeline script 来描述整个持续集成的过程。下面是一个简单的例子展示了如何利用 Docker 执行器完成一次典型的 Java 应用程序发布操作: ```groovy pipeline { agent { docker 'maven:3-alpine' } stages { stage('Build') { steps { sh 'mvn clean package' } } stage('Test') { steps { sh 'mvn test' } } stage('Deploy') { when { branch 'main' } steps { echo 'This is a placeholder for deployment logic.' } } } } ``` 此段代码指定了使用基于 Alpine Linux 发行版本的 Maven 映像作为临时性的构建节点,通过一系列阶段实现了源码获取、单元测试直至最后推送制品库等功能[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值