基于Docker搭建Jenkins自动化部署服务器

Jenkins可以实现自动化部署项目,如上图所示,jenkins可以连接代码管理平台,下载代码,进行项目打包及部署。下面我们基于docker部署jenkins,并实现项目的自动化部署。

1.安装启动jenkins

#1.拉取Jenkins镜像

[root@localhost ~]# docker pull jenkins

#2.启动jenkins容器

[root@localhost ~]#docker run  -it  -d  -p 8081:8081 -p 8080:8080 -p 50000:50000 -v jenkins_data:/var/jenkins_home jenkinsci/blueocean

查看启动日志

[root@localhost ~]# docker logs 4c193b44d91e >jenkins2.log 2>&1

启动成功后可以看到这里有显示admin用户的密码

2.登录jenkins初始化配置

#1.登录Jenkins

 http://192.168.1.110:8080

1.输入默认生成的密码

#2.安装插件

选择安装插件,建议初学者安装推荐的插件

等待所有插件安装完成,可能会耗时很久,而且会出现安装失败的情况。

选择系统管理Manage Jenkins—>选择插件管理Manage Plugins-->选择高级Advanced,修改Update Sie。【详细的Jenkins的镜像地址查询:http://mirrors.jenkins-ci.org/status.html】

如果依然超时下载失败,可以自行下载.hpi文件,并上传

详细的解决方案可以参考https://www.cnblogs.com/sxdcgaq8080/p/10489326.html

#3.创建用户

#4.配置jenkinsURL

接着我们就进入了jenkins主页

3.配置jenkins运行环境

#1.配置jdk

进入主页,选择ManageJenkinss,选择Global Tool Configuration

选择JDK,填写jdk的名称及安装目录,取消勾选自动安装

Jenkins默认已经安装了jdk,进入Jenkins容器,可以查看Jdk版本,及安装目录

docker exec -it 8ed4f97783c8 /bin/bash

echo $JAVA_HOME

#2.安装maven

选择maven安装配置项,填写相关信息

安装完成后,到jenkins容器中修改maven的settings.xml配置文件,配置阿里云镜像地址

#3.安装maven插件

选择manage jenkins-->选择Manage plugins,点击Available,搜索maven integration,选择安装后重启jenkins。

4.使用jenkins自动部署项目

在配置自动部署前,我们需要先将项目部署到Git平台,如码云gitee、gitlab、github等。

#1.新建任务

选择新建任务New Item,输入项目名,选择maven项目

配置Git项目的地址

项目构建

配置项目自动运行脚本

#!/bin/bash
#服务名称
SERVER_NAME=meite_mayi
# 源jar路径,mvn打包完成之后,target目录下的jar包名称,也可选择成为war包,war包可移动到Tomcat的webapps目录下运行,这里使用jar包,用java -jar 命令执行  
JAR_NAME=meite_mayi-1.0-SNAPSHOT
# 源jar路径  
#/usr/local/jenkins_home/workspace--->jenkins 工作目录
#demo 项目目录
#target 打包生成jar包的目录
JAR_PATH=/var/jenkins_home/workspace/meite_mayi/target/
# 打包完成之后,把jar包移动到运行jar包的目录--->work_daemon,work_daemon这个目录需要自己提前创建
JAR_WORK_PATH=/var/jenkins_home/workspace/meite_mayi/target/

echo "查询进程id-->$SERVER_NAME"
PID=`ps -ef | grep "$SERVER_NAME" |grep jar| awk '{print $1}'`
echo "得到进程ID:$PID"
echo "结束进程"
for id in $PID
do
	kill -9 $id  
	echo "killed $id"  
done
echo "结束进程完成"

#复制jar包到执行目录
echo "复制jar包到执行目录:cp $JAR_PATH/$JAR_NAME.jar $JAR_WORK_PATH"
cp $JAR_PATH/$JAR_NAME.jar $JAR_WORK_PATH
echo "复制jar包完成"
cd $JAR_WORK_PATH
#修改文件权限
chmod 755 $JAR_NAME.jar

BUILD_ID=dontKillMe nohup java -jar  $JAR_NAME.jar  &

#2.为项目的端口配置映射

由于jenkins容器运行时只配置了自身的端口,如果项目部署在jenkins容器里面,容器外部也无法访问项目的端口。因此我们需要为项目的端口配置映射

第一种方法是停掉jenkins容器并删除后,重新启动jenkins容器,添加项目的端口

docker stop 1358f3f7ce75
docker rm 1358f3f7ce75
docker run  -it  -d  -p 8081:8081 -p 8080:8080 -p 50000:50000 -v jenkins_data:/var/jenkins_home  jenkinsci/blueocean

第二种方法是修改hostconfig.json和config.v2.json文件,添加项目的端口,然后重启docker

docker inspect 容器id,可以查看容器的完整id

然后进入到 /var/lib/docker/containers/[容器ID]/目录,可以看到hostconfig.json文件和config.v2.json文件

修改hostconfig.json文件,找到portbindings,增加项目的8081端口

修改config.v2.json文件,增加项目端口8081,这个文件有两处需要修改,

修改完成后重启docker

#3.立即构建项目

配置完成后,点击立即构建Build Now

选择本次构建,点击控制台输出Console Output,即可看到项目构建情况

项目启动完成后即可在外部进行访问了

 

 

 

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值