记录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到测试环境使用,但是现在项目组要求打增量包,即只部署修改的文件和配置文件. 核心问题:如何获取到变动的文件??? 前置条件:初始化 ...
随机推荐
- 转:Sql Server中的表访问方式Table Scan, Index Scan, Index Seek
0.参考文献 Table Scan, Index Scan, Index Seek SQL SERVER – Index Seek vs. Index Scan – Diffefence and Us ...
- C# 引用的程序集没有强名称
首先查一下什么是强名称程序集,见百度百科帖子:http://baike.baidu.com/view/1145682.htm简单来说,就是为了解决Windows Dll Hell问题的,即不同公司开发 ...
- MySQL 的 CURD 操作
0. 说明 CURD 操作通常是使用关系型数据库系统中的结构化查询语言(Structured Query Language,SQL)完成的 CURD 定义了用于处理数据的基本原子操作 CURD 代表创 ...
- Hadoop 的序列化
1. 序列化 1.1 序列化与反序列化的概念 序列化:是指将结构化对象转化成字节流在网上传输或写到磁盘进行永久存储的过程 反序列化:是指将字节流转回结构化对象的逆过程 1.2 序列化的应用 序列化用于 ...
- Android高级_视频播放控件
一.Android系统自带VideoView控件 1. 创建步骤: (1)自带视频文件放入res/raw文件夹下: (2)声明初始化VideoView控件: (3)创建视频文件Uri路径,Uri调用p ...
- C# Excel操作类 ExcelHelper
实现C#与Excel文件的交互操作,实现以下功能: 1.DataTable 导出到 Excel文件 2.Model数据实体导出到 Excel文件[List<Model>] 3.导出数据到模 ...
- div中嵌套div水平居中,垂直居中
方法一: div(父):display:table; div(子):display:table_cell;margin:0 auto;vertical-align:middle; 方法二: div(父 ...
- BBS论坛博客系统
目录 BBS网站需求分析 BBS数据库设计 BBS用户登录 BBS用户注册 BBS网站首页 BBS个人首页 后台管理系统搭建 网站全部源码
- 企业案例--生产环节更改mysql字符集
查看数据库字符集: show database create dbname \G; 查看数据库表字符集: show table create tbname \G; 查看现有数据库字符集设置: show ...
- day77
昨日回顾: 批量插入数据: -queryset的方法:bulk_create(对象列表,数字(一次插入多少)) 分页器: from django.core.paginator import ...