目 录CONTENT

文章目录

实战Docker搭建自动化部署环境

小张的探险日记
2022-01-20 / 0 评论 / 0 点赞 / 636 阅读 / 1,871 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2022-01-21,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

背景

项目上线运行后,几乎每天都需要更新代码,虽说很简单 ,本地编译,上传,运行,但是每天重复也是一个十分蛋痛的工作,作为一个工程师 一定要杜绝重复劳动。

Docker

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

Gitee

云端软件开发协作平台

搭建流程

此时 我的测试服务器 已经安装好了 docker 如果你还没有安装 请先安装 输入 docker -v 可以查看版本

image.png

推荐此版本的容器

image.png

第一步

docker pull jenkins/jenkins //下载jenkins

第二步,新建一个jenkins 目录

cd /home
mkdir jenkins

// 最后运行 
docker run -d --name myjenkins -p 49001:8080 -v /home/jenkins_home:/home/jenkins -v /var/maven/apache-maven-3.6.0:/usr/maven/apache-maven-3.6.0 -v /var/java/jdk1.8.0_191:/usr/java/java1.8.0_191 jenkins

(这个是镜像名称), -v 指定目录映射(把宿主机的 java 和 maven环境映射过去,后续需要进入容器 配置jenkins的 java 和maven 环境)

ps:其中49001:8080,表示docker内部使用8080端口,服务器使用49001端口,然后将二者映射起来,之后在浏览器访问的时候实际上还是访问服务器的49001端口,注意关闭防火墙 或是 开通端口号

此处需要输入 jenkins自动生成的密码

输入 docker exec -it myjenkins bash 进入 myjenkins 容器里面

第三步
输入 find -name initialAdminPassword

image.png

然后 输入cat 命令打印 initialAdminPassword 的内容 复制到页面中

安装成功

image.png

image.png

image.png

image.png

在全局工具配置中 配置Java环境 和 maven 环境
ps: 安装Jenkins后首次访问时由于其他原因【具体未知】会产生离线问题。网上找了个遍还是不能解决,所以只能跳过常用插件安装这步。进入Jenkins后再安装这些插件(我这遇到了,我选择换了一个版本就没事了)

image.png

添加常用的插件

image.png

image.png

image.png

第四步

接下来开始配置 java 及 Maven环境

JAVA_HOME填写 docker启动命令中 从宿主机映射过来的路径 MAVEN也填写 docker启动命令中 从宿主机映射过来的路径

image.png

新建项目 如果没有maven项目可选,那么请先安装 Maven Integration plugin 插件

image.png

我这里使用的是 git

image.png

image.png

此处 V2是重点-》需要现在 系统管理的系统设置 中配置 Source files:需要上传到服务器的jar包 Remove prefix: 需要移除的后缀 Remote directory: 远程目录(此处会和 下面配置的 Remote Directory 做拼接) Exec command:文件上传后 执行的命令

start.sh:
#!/bin/bash
export JAVA_HOME=/usr/local/java/jdk1.8.0_191
echo ${JAVA_HOME}
echo "授权当前用户"
chmod 777 /opt/project/ixx-web.jar
echo "执行...."
cd /opt/project/
nohup ${JAVA_HOME}/bin/java -jar ixx-web.jar > aa.out &
echo "启动成功"
stop.sh:
#!/bin/bash
echo "stop SpringBoot BAppApiServerApplication"
pid=`ps -ef | grep ixx-web.jar | grep -v grep | awk '{print $2}'`
echo “旧应用进程id:$pid”
if [ -n "$pid" ]
then
kill -9 $pid
fi

image.png

Passphrase : 服务器登录密码 Hostname: 服务器地址 Username: 用户名 Remote Directory:文件上传的远程目录

image.png

然后保存,立即构建

image.png

系统会开始构建

image.png

构建成功,此时 jenkins 已经把 master 分支上的代码 编译->打包->上传->运行成功 以上是这次给大家分享的 jenkins搭建 及 springBoot 远程自动部署,谢谢大家阅读

0

评论区