jenkins自动化部署gitlab上maven程序

Posted smilingeye

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jenkins自动化部署gitlab上maven程序相关的知识,希望对你有一定的参考价值。

部署流程:将代码从gitlab上拉取下来,使用maven打包,将打包后的jar通过ssh发送到服务器上,运行jar程序

注意:本文需要安装一些插件Publish Over SSH

1.新建任务

在主页点击“新建任务”

输入任务名称“gis-server”(随便什么名称都可以)

选择“构建一个maven项目”

确定

技术图片

 

2.配置页面-源码管理

2.1.输入“Repository URL”,这是一个gitlab上的代码仓库地址,例如图中的

SSH地址:git@172.16.1.144:3dgis/server3d.git

HTTP地址:http://172.16.1.144:9000/3dgis/server3d.git

注意:你可能疑惑,我的gitlab上没有http这个地址?这是因为这个gitlab网站是我们公司内部使用开源gitlab搭建的代码仓库,不是公网上的gitlab公共仓库。

技术图片

2.2.输入“Credentials”

开始没有可选的凭证,需要我们新建一个凭据

点击“添加”-》“点击Jenkins”,进入添加凭证页面,一般使用“用户名密码”或“ssh方式”

2.2.1.使用用户名密码(与SSH地址:git@172.16.1.144:3dgis/server3d.git对应)

选择“类型”=“Username with password”

输入用户名,密码

输入描述:gitlab上的用户名密码(可不填)

点击添加

技术图片

 

2.2.1.ssh方式(与HTTP地址:http://172.16.1.144:9000/3dgis/server3d.git对应)

选择“类型”=“SSH Username with private key”

输入描述:gitlab-ssh(可不填)

输入用户名,密码(gitlab的登录用户名密码)

选中 Enter dirctly

输入Key,(复制windwos系统下C:\\Users\\peng\\.ssh\\id_rsa文件里的内容,这种方式需要已经将公钥C:\\Users\\peng\\.ssh\\id_rsa.pub添加进gitlab里了)

点击添加

技术图片

 

技术图片

 2.3.输入“Branch Specifier”

 这是输入仓库的分支,如果没有分支可选,默认为master

设置完后的样式

技术图片

 

 3.配置页面-构建触发器

 选择“Build whenever a SNAPSHOT dependency is built”

 当job依赖的快照版本被build时,执行本job。

技术图片

 

 4.配置页面-Build

输入“Root Pom”,(这里输入源码里pom.xml路径,源码一般被下载到“安装录目\\workspace\\gis-server”)

输入“Goals and options”

clean package -Dmaven.test.skip=true

 

技术图片

 

 5.配置页面-Post Steps

创建Send files or execute commands over SSH

 技术图片 

 

技术图片

 

 创建SSH Server

系统管理->系统设置->Publish over SSH->新增

技术图片

 source files应该怎么写,可以点击后面的“?”查看,他有个指引连接,http://ant.apache.org/manual/dirtasks.html#patterns

 技术图片

 Exec command 里的gis-server.sh文件可以参考另一篇博客:https://www.cnblogs.com/SmilingEye/p/11341595.html

 

以上是关于jenkins自动化部署gitlab上maven程序的主要内容,如果未能解决你的问题,请参考以下文章

GitLab + Jenkins + Maven + Tomcat 实现自动集成打包部署

Linux下的Jenkins+Tomcat+Maven+Gitlab+Shell环境的搭建使用(jenkins自动化部署)

Docker环境搭建Jenkins+gitlab+maven自动打包 部署容器

jenkins+Gitlab+maven+tomcat实现自动化集成打包部署。

SpringCloud+Docker+Jenkins+GitLab+Maven实现自动化构建与部署实战

SpringCloud+Docker+Jenkins+GitLab+Maven实现自动化构建与部署实战