记录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到测试环境使用,但是现在项目组要求打增量包,即只部署修改的文件和配置文件. 核心问题:如何获取到变动的文件??? 前置条件:初始化 ...
随机推荐
- linux访问Windows共享文件命令
mount -o username=username,password=password,ip=10.0.0.1 //10.0.0.1/backupscm /home/package/image_vm ...
- Django之views视图函数
views视图函数属于MTV中逻辑处理的部分视图函数包含着两个对象,HttpRequest对象和HttpResponse对象 一.HttpRequest对象 HttpRequest对象在Django中 ...
- SQL 的各种 join 用法
作者丨C.L. Moffatt http://www.codeproject.com/Articles/33052/Visual-Representation-of-SQL-Joins I am go ...
- AnyHashable类型擦除的原因:set和dictory需要指定一个确定的类型
AnyHashable 属于无关联类型的擦除. 将具体类型的类型信息擦除掉了,只剩下协议类型的信息暴露出来. 类型擦除实践:将相同协议的不同实现屏蔽起来,暴露出类型的共同特征(协议接口). A typ ...
- Android 给TextView中的字体加上“中间线”
大家都知道在做购物App或者购物网站的时候,商品价格往往会有一个“现价”和“原价”而原价往往会在中间加上一个黑色的横线.便于醒目客户,但是这种效果在App中应该怎样做呢? 废话不多少,直接给大家看代码 ...
- openstack vm ping 114.114.114.114
route add -net 0.0.0.0 netmask 0.0.0.0 gateway 192.168.0.131 route del -net 0.0.0.0 netmask 0.0.0.0 ...
- Hadoop大数据平台构建
基础:linux常用命令.Java编程基础大数据:科学数据.金融数据.物联网数据.交通数据.社交网络数据.零售数据等等. Hadoop: 一个开源的分布式存储.分布式计算平台.(基于Apache) H ...
- 一键安装Docker图形化管理界面-Shipyard
Shipyard是一款开源的图形化的Docker管理工具,记得以前安装很麻烦的,现在官方有了自动安装脚本,使用非常方便.复制.粘贴.使用,就这么简单.先不研究他是如何实现的,安装使用起来再说. $ c ...
- C++STL之Vector的应用
这是我第一次写博客,请多指教! vector是一种向量容器,说白了就是可以改变大小的数组. vector是一个模板类,如果直接这样会报错: vector a; //报错,因为要指定模板. 需要像这样: ...
- WPF LinkButton
<Button Margin="5" Content="Test" Cursor="Hand"> <Button.Temp ...