Docker+jenkins+Gitee+Maven构建自动化部署

Jenkins的环境构建和项目自动化部署

      • docker-compose部署配置jenkins
        • 步骤1:Docker下载jenkins镜像并运行容器
        • 步骤2:访问jenkins
          • 2.1.jekins访问:
          • 2.2.进入jenkins获取密码
        • 步骤3.选择jenkins 安装推荐的插件
        • 步骤4.选择 jenkins 安装插件
        • 步骤5:配置JDK和Maven
      • 构建第一个任务
        • 1.将自己代码上传到码云上。
        • 2.构建一个任务
        • 3.配置构建后的shell脚本,再重新构建
        • 4.访问

docker-compose部署配置jenkins

步骤1:Docker下载jenkins镜像并运行容器

注意:-p 50000:50000建议提前映射为项目的端口号,如8087:8087

docker run -p 8080:8080 -p 50000:50000 -v Jenkins_data:/var/Jenkins_home jenkinsci/blueocean

步骤2:访问jenkins

2.1.jekins访问:

(注意:不要傻乎乎用别人的ip访问)
http://192.168.75.129:8080/login?from=%2F
Docker+jenkins+Gitee+Maven构建自动化部署_第1张图片

2.2.进入jenkins获取密码

docker exec -it jenkins /bin/bash 获取该密码。注:可用docker ps获取容器id,再使用docker exec -it容器id /bin/bash
cat /var/jenkins_home/secrets/initialAdminPassword获取密码
在这里插入图片描述

步骤3.选择jenkins 安装推荐的插件

Docker+jenkins+Gitee+Maven构建自动化部署_第2张图片

  • 加载插件(大概需要花费3-5分钟左右)
    Docker+jenkins+Gitee+Maven构建自动化部署_第3张图片

  • 创建一个管理员的用户
    Docker+jenkins+Gitee+Maven构建自动化部署_第4张图片

root
root
root
mayikt
[email protected]
Docker+jenkins+Gitee+Maven构建自动化部署_第5张图片
Docker+jenkins+Gitee+Maven构建自动化部署_第6张图片
Docker+jenkins+Gitee+Maven构建自动化部署_第7张图片

步骤4.选择 jenkins 安装插件

安装插件:
所需的插件:
• Maven插件 Maven Integration plugin (只安装这个,,安装之前先在可更新选项卡升级JUnit Plugin,否则可能会失败
搜索: Maven Integration plugin
Docker+jenkins+Gitee+Maven构建自动化部署_第8张图片

步骤5:配置JDK和Maven

JDK用jenkins容器内部的
Docker+jenkins+Gitee+Maven构建自动化部署_第9张图片
取消勾选自动安装,jenkins容器内部有,进入容器内部,使用
echo $JAVA_HONE即可
Docker+jenkins+Gitee+Maven构建自动化部署_第10张图片
Docker+jenkins+Gitee+Maven构建自动化部署_第11张图片
Maven选择自动安装
Docker+jenkins+Gitee+Maven构建自动化部署_第12张图片
Docker+jenkins+Gitee+Maven构建自动化部署_第13张图片

构建第一个任务

1.将自己代码上传到码云上。

2.构建一个任务

Docker+jenkins+Gitee+Maven构建自动化部署_第14张图片
Docker+jenkins+Gitee+Maven构建自动化部署_第15张图片
Docker+jenkins+Gitee+Maven构建自动化部署_第16张图片
填写自己gitee 码云账户

Docker+jenkins+Gitee+Maven构建自动化部署_第17张图片

clean install 

点击立即构建
Docker+jenkins+Gitee+Maven构建自动化部署_第18张图片
第一次构建可能耗时比较长,因为需要下载一些相关依赖jar包
Docker+jenkins+Gitee+Maven构建自动化部署_第19张图片
Docker+jenkins+Gitee+Maven构建自动化部署_第20张图片
构建完成后会在容器内部**/target目录下有对应的jar包

cd  /var/jenkins_home/workspace/mayikt-springboot/target

在这里插入图片描述
但是这种仅仅是打包,还需要手动运行,因此我们需要配置构建后shell脚本再重新构建,如下:

3.配置构建后的shell脚本,再重新构建

Docker+jenkins+Gitee+Maven构建自动化部署_第21张图片
注意要修改的四个地方,服务名在地址栏、jar包和另外的两个路径(相同)分别对应容器内部的jar包名和路径,其余的不变。

Jenkins启动成功之后执行shell脚本

#!/bin/bash 
#服务名称 
SERVER_NAME=jekins 
# 源jar路径,mvn打包完成之后,target目录下的jar包名称,也可选择成为war包,war包可移动到Tomcat的webapps目录下运行,这里使用jar包,用java -jar 命令执行   
JAR_NAME=jekins-0.0.1-SNAPSHOT 
# 源jar路径   #/usr/local/jenkins_home/workspace--->jenkins 工作目录 #demo 项目目录 #target 打包生成jar包的目录 
JAR_PATH=/var/jenkins_home/workspace/jekins/target 
#!/bin/bash #服务名称 SERVER_NAME=mayikt-springboot # 源jar路径,mvn打包完成之后,target目录下的jar包名称,也可选择成为war包,war包可移动到Tomcat的webapps目录下运行,这里使用jar包,用java -jar 命令执行   JAR_NAME=mayikt-springboot-1.0-SNAPSHOT # 源jar路径   #/usr/local/jenkins_home/workspace--->jenkins 工作目录 #demo 项目目录 #target 打包生成jar包的目录 JAR_PATH=/var/jenkins_home/workspace/mayikt-springboot/target # 打包完成之后,把jar包移动到运行jar包的目录--->work_daemon,work_daemon这个目录需要自己提前创建 
JAR_WORK_PATH=/var/jenkins_home/workspace/jekins/target  
echo "查询进程id-->$SERVER_NAME" 
PID=`ps -ef | grep "$SERVER_NAME" | awk '{print $2}'` 
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  &

4.访问

关闭防火墙,开放服务器8087端口

systemctl stop firewalld.service

访问:/jekins/hello接口
http://服务器公网IP:8087/jekins/hello
Docker+jenkins+Gitee+Maven构建自动化部署_第22张图片

你可能感兴趣的:(容器技术,jenkins,docker,SpringBoot,自动化部署,云服务器)