jenkins构建maven、git项目部署远程服务器完整过程

前言

之前都是运维负责Jenkins的安装部署。这年头没有些运维能力怎么搞好大数据了,网上的案例感觉都不太完整,要看好多文章。现在就来记录Jenkins构建maven、git、ssh、java项目的全过程。

安装Jenkins

建议使用docker,好处就不多少赘述了。
创建映射目录:

# 拉取镜像
docker pull jenkins
# 创建映射目录
mkdir /data/docker/jenkins
# 修改目录权限
chmod -R 777 /data/docker/jenkins
# 后台运行,映射jenkins_home目录,方便以后文件操作
docker run -d --name myjenkins -p 28080:8080 -p 50000:50000 -v /data/docker/jenkins:/var/jenkins_home jenkins/jenkins

#Jenkins初始密码可以通过启动日志查看,也可以通过文件查看。
docker logs myjenkins --tail=100
# 或者根据页面查看映射目录
cat /data/docker/jenkins/secrets/initialAdminPassword

然后选择安装推荐的插件(不熟悉可能会漏掉一些必要插件,省得麻烦)
在这里插入图片描述

构建准备

安装插件

最新版本的Jenkins推荐安装会帮我们装好一些插件,如我们需要使用的git。当然在构建项目前还需要一些额外插件的支持。我们进入 Manage Jenkins 界面。
在这里插入图片描述
可以看到我这里很多异常,有些插件需要重启才能使用,不过这里不影响我的构建,所以暂时不管,将界面下拉到 Manage Plugins -> 可选插件,如果下面提到的插件搜索不到,可能是已安装列表中已经存在。
在这里插入图片描述

  • 搜索maven,安装Maven Integration plugin,直接安装。构建maven的项目就需要这个插件,不然

- maven

  • 搜索git parameter,用于构建项目是选择git参数,比如发布的分支
    在这里插入图片描述
  • 搜索Publish over SSH,用于连接远程服务器,发送文件,执行脚本。
    在这里插入图片描述

初始化配置

返回Manage Jenkins

  • Configure System
    这里根据自己项目需要配置,比如maven,也可以直接根据他的默认配置。我们主要在Publish over SSH中添加 SSH Servers配置,用于连接目标服务器。高级里面可以配置密码,代理等功能。(这里多提一句,如果生产环境只能用跳板机连接也是没问题的,我是通过ssh tunnel的方式开了个端口在跳板机上连接的)配置完成后点击测试,正常的话会返回Success。
    在这里插入图片描述
  • Global Tool Configuration
    这里如果有maven私仓的,可以指定settings.xml。

构建项目

  • 选择maven项目
    在这里插入图片描述
  • 配置git路径
    在这里插入图片描述
  • 配置This project is parameterized(构建参数)-> git parameter ,设置name和type
    在这里插入图片描述
  • 源码管理,添加git账号密码,不然会出现git异常提示。Branch Specifier选择git 参数构建的name加个$符号,这样之后部署就会是你每次选择的分支。
    在这里插入图片描述
  • Pre steps 如果在构建前想做些什么,可以在这配置。
  • Build 这里配置打包命令
    在这里插入图片描述
  • Post Steps 由于我这里是要发到远程服务器,然后执行脚本,所以选择Send files or execute commands over SSH 这种方式。选择之前配置好的server,Source files表示要上传的文件,exec command就是在远程server执行的命令,这里我在上面放了一个简单的启动脚本test.sh
    在这里插入图片描述
  • 保存退出

自动化部署

  • git 提交发布分支的最新代码
  • 选择发布的项目参数构建
  • 指定分支,一键部署
    在这里插入图片描述
  • 初次构建可以通过控制看查看是否存在异常,一般情况不会如此顺利,以为大家都是一个坑一个坑走过来的,有什么问题的话也欢迎留言交流。没有就恭喜你大功告成。
发布了62 篇原创文章 · 获赞 33 · 访问量 13万+

猜你喜欢

转载自blog.csdn.net/yyoc97/article/details/96443456