背景
项目上线运行后,几乎每天都需要更新代码,虽说很简单 ,本地编译,上传,运行,但是每天重复也是一个十分蛋痛的工作,作为一个工程师 一定要杜绝重复劳动。
Docker
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
Gitee
云端软件开发协作平台
搭建流程
此时 我的测试服务器 已经安装好了 docker 如果你还没有安装 请先安装 输入 docker -v 可以查看版本
推荐此版本的容器
第一步
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
然后 输入cat 命令打印 initialAdminPassword 的内容 复制到页面中
安装成功
在全局工具配置中 配置Java环境 和 maven 环境
ps: 安装Jenkins后首次访问时由于其他原因【具体未知】会产生离线问题。网上找了个遍还是不能解决,所以只能跳过常用插件安装这步。进入Jenkins后再安装这些插件(我这遇到了,我选择换了一个版本就没事了)
添加常用的插件
第四步
接下来开始配置 java 及 Maven环境
JAVA_HOME填写 docker启动命令中 从宿主机映射过来的路径 MAVEN也填写 docker启动命令中 从宿主机映射过来的路径
新建项目 如果没有maven项目可选,那么请先安装 Maven Integration plugin 插件
我这里使用的是 git
此处 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
Passphrase : 服务器登录密码 Hostname: 服务器地址 Username: 用户名 Remote Directory:文件上传的远程目录
然后保存,立即构建
系统会开始构建
构建成功,此时 jenkins 已经把 master 分支上的代码 编译->打包->上传->运行成功 以上是这次给大家分享的 jenkins搭建 及 springBoot 远程自动部署,谢谢大家阅读
评论区