记录Jenkins+gitlab+maven
摘要
昨天抽空将jenkins+gitlab(git)+maven整合了一下,再次记录一下以防下次再去查找省的麻烦。
git、maven、java配置
启动jenkins之后进入系统管理里面的Global Tool Configuration(进入这页面的前提是你的系统上已经安装了git、maven、java).首先是java的配置如下图所示:

在这里配置java的路径,如果你选择了自动安装则需要选择你想安装的java选项,接下来是Git的配置如下图所示:

在这个选项中你需要填上git的安装路径和你的git用户名(这个是看着网上的来写的具体能不能默认为default没有测试不太清楚),在这里你也可以选择自动安装。接下来是maven配置,如图所示:

经过以上的三个配置基本上能满足大多数项目的需求了,接下来我们介绍如何新建一个项目。
项目新建
在jenkins点击新建按钮就会出现创建项目的选择窗口,我们选择构建一个maven项目。如下图所示:

其实在这个界面我们可以新建很多东西,不过因为我只用到了maven项目所以我就选择了maven项目,如果以后用到构建其他选项我会进行介绍。接下来就是本文的重头戏。
选择项目之后我们回来到项目的配置界面,首先配置的是项目的基本信息如项目的名称、描述、重试次数、参数化构建等等。如下所示:

之后就是源代码的管理配置,在这里有两项需要我们填写。(1)Repository URL (2)Credentials(认证的方式,此处不是英语翻译)。OK,第一项不比较好填写可以填写http格式也可以填写SSH格式的,这里我填写的是ssh格式的.然后就是Credentials,我们选择Add.上面界面如下所示:

可以看到这里我们也可以选择分支,接下来展示的是秘钥的方式:

我们可以选择账号密码的形式,也可以选择SSH的方式进行凭据的添加,我选择的是SSH。
之后就是配置要执行的shell脚本了,废话不多说直接上图:

到这里配置的就基本结束了接下来我会说一下我配置这个东西遇到的坑。
问题
(1)从gitlab上拉代码出现错误“ERROR: Timeout after 10 minutes,ERROR: Error fetching remote repo 'origin'”,当出现这个问题的时候我第一反应会不会是gitlab权限的问题,然后我上网去搜索发现有说权限问题的有说jenkins上git插件的问题要降级插件,然后我就想了一下gitlab上我的权限是root的应该不是这个问题,难道是插件的问题但是我这么懒怎么会降级插件呢?然后我看了错误信息提示是十分钟超时,既然十分钟不行我就试试60分看行不行,然后我就在项目配置源码管理中的Additional Behaviours设置了一下时间然后问题就解决了。。。。
(2)jenkins权限问题。我在构建项目的时候maven build时成功了, 但是我发现脚本执行还是错误的,然后我看见它提示权限不够,然后我就修改了一下它用户的权限。第一步到 /etc/sysconfig/jenkins文件下将JENKINS_USER设置为root,第二步重启一下jenkins就可以了
(3)jenkins执行脚本之后会将线程杀掉,在这里有两种解决方法,第一种让jenkins执行路径下的脚本文件,第二种在脚本的第一行加上BUILD_ID=dontKillMe.
总结
OK,到这里已经结束了,这里的总结就不多说了放一行凑个字数和格式吧!
记录Jenkins+gitlab+maven的更多相关文章
- 解放双手 | Jenkins + gitlab + maven 自动打包部署项目
前言 记录 Jenkins + gitlab + maven 自动打包部署后端项目详细过程! 需求背景 不会偷懒的程序员不是好码农,传统的项目部署,有时候采用本地手动打包,再通过ssh传到服务器部署运 ...
- jenkins+Gitlab+maven+tomcat实现自动集成、打包、部署
一.前言 首先出于提高自己技术水平和琢磨能做点什么能提高工作效率,上线工作实在无聊.重复(手动编译.打包,传包,重启),于是就想到了jenkins,jenkins持续集成已经不是什么新鲜的话题,网上文 ...
- SpringCloud+Docker+Jenkins+GitLab+Maven实现自动化构建与部署实战
1.前言与初衷 本文章会涉及Docker常见命令基础知识点结合不同场景实操一起使用. 本文章会涉及结合工作过程中部署不同环境服务器的项目案例场景为初心进行实际细讲. 本文章主要讲述Docker.Jen ...
- Jenkins+gitlab+maven持续集成
https://blog.csdn.net/tq08g2z/article/details/79718425 https://www.jianshu.com/p/3507d8b2ac87 报错用下面解 ...
- 【Devops】【docker】【CI/CD】3.Jenkins+GitLab+docker+springboot 实现自动化部署
==================================================================================================== ...
- jenkins+git+maven搭建自动化部署项目环境
简介 折腾了两个晚上,趁着今晚比较有空,把jenkins+git+maven搭建自动化部署项目环境搭建的过程记录一下,这里我把github作为git的远程仓库(https://github.co ...
- jenkins+gitlab配置
jenkins配置 插件配置 Jenkins要实现持续集成自动部署需要安装 gitlab maven Publish Over SSH Git等几个插件 查看已经安装的插件 jenkins上集成 ...
- Linux下的Jenkins+Tomcat+Maven+Git+Shell环境的搭建使用(jenkins自动化部署)【转】
jenkins自动化部署 目标:jenkins上点构建(也可以自动检查代码变化自动构建)>>>项目部署完成. 一.安装jenkins 1.下载jenkins 这里我选择的是war包安 ...
- jenkins+git+maven 增量部署思路以及相关脚本
之前通过jenkins+Git+maven这种方式打war包然后scp到测试环境使用,但是现在项目组要求打增量包,即只部署修改的文件和配置文件. 核心问题:如何获取到变动的文件??? 前置条件:初始化 ...
随机推荐
- MySQL MTS复制: hitting slave_pending_jobs_size_max
测试步骤: 从库停止复制:stop slave; 主库创建大表400万条记录. 开启从库复制:start slave; 监测从库error log持续输出: 2018-12-06T10:40:52.6 ...
- ZooKeeper 数据结构 & 命令
0. 说明 记录 ZooKeeper 数据结构 & 命令 1. ZooKeeper 数据结构 ZooKeeper 特性: ZooKeeper 文件系统以 / 为根目录,文件系统为树形结构,每 ...
- Linux查看系统负载(CPU和MEM考虑)
查看占用CPU最高的10个进程 [tidb@:vg_adn_tidbCkhsTest:| head mysql ? Sl Nov22 : /usr/local/mysql/bin/mysqld --b ...
- SQL 性能不佳的几个原因
•不准确的统计数据•差劲的索引•差劲的查询设计 •差劲的执行计划,通常是由不正确的参数引起的•过度阻塞和死锁 •非基于集合的操作•不良数据库设计 •过度碎片 •不能重复使用执行计划 •查询频繁重编译 ...
- 一个U盘黑掉你:TEENSY实战(test)
挖掘过程一: 自从上一次投稿,已经好久好久没写文章了.今天就着吃饭的时间,写篇文章,记录下自己学习xss这么久的心得.在我看来.Xss就是javascript注入,你可以在js语法规定的范畴内做任何事 ...
- oracle备份与恢复
Oracle数据库有三种标准的备份方法,它们分别是导出/导入(EXP/IMP).热备份和冷备份.导出备件是一种逻辑备份,冷备份和热备份是物理备份. 导出/导入(Export/Import) 利用Exp ...
- WorldWind源码剖析系列:缓冲类Cache
缓冲类Cache主要用于在最小的限制条件下保存从远程服务器通过网络下载下来的地理空间数据,以便当用户处于离线状态时能够使用这些已经缓冲好的数据.Google Earth也采用类似机制处理用户离线浏览漫 ...
- WorldWind源码剖析系列:外包围盒类BoundingBox和外包围球类BoundingSphere
PluginSDK中的外包围盒.外包围球分别用类 BoundingBox和BoundingSphere描述,其类图如下所示. 外包围盒BoundingBox类的corners字段用来存储外包围盒的8个 ...
- CentOS7服务器添加新用户
添加新用户[root@localhost etc]# adduser jiangshan[root@localhost etc]# passwd jiangshan[root@localhost et ...
- 蓝桥杯 历届试题 网络寻路(dfs搜索合法路径计数)
X 国的一个网络使用若干条线路连接若干个节点.节点间的通信是双向的.某重要数据包,为了安全起见,必须恰好被转发两次到达目的地.该包可能在任意一个节点产生,我们需要知道该网络中一共有多少种不同的转发路径 ...