Jenkins+Gitlab搭建CI持续集成架构
来源:互联网 发布:哪个软件有鱼眼效果 编辑:程序博客网 时间:2024/05/01 15:40
首先安装Jenkins和Gitlab
很简单就不多说了,贴个地址
Installing Jenkins
Install a GitLab CE
需要注意的是,在中国大陆由于墙的问题,Gitlab下载非常的慢,有可能导致下载失败了。。
在这里推荐一下清华大学镜像源,在国内速度杠杠的。
Gitlab Community Edition 镜像使用帮助
有兴趣的可以看看它们的镜像首页,目前支持的镜像挺多的,而且还在不断的增加呢。
安装Jenkins插件
做持续集成,Jenkins默认安装后还需要再安装一些插件。
安装插件很简单,通过浏览器进入安装好Jenkins的服务器首页——>点击系统管理——>管理插件——>可选插件
然后过滤查找以下插件,勾选安装即可
- Git client plugin
- Git plugin
- Gitlab Hook Plugin
创建代码仓库添加Webhooks
好了,让我们来开始实际操作吧
先在Gitlab上创建一个仓库,然后在项目的设置中选择Webhooks,
在URL上填http://[jenkins-ip]:8080/gitlab/build_now
前面是jenkins服务器的IP,端口号默认是8080,如果服务器上有类似tomcat这样的程序占用端口,
就需要更改端口号了,这里也就要相应的修改了。
还有一种情况,如果是通过Jenkins官网下载的war包形式,
这里的URL就要改为http://[jenkins-ip]:8080/jenkins/gitlab/build_now
创建Jenkins项目
进入我们服务器的Jenkins首页——>点击新建——>输入一个项目名称——>选择构建一个自由风格的软件项目(free-style)点击ok
进入了项目配置页面,然后按以下步骤操作就好了
1. 源码管理设置,选中Git,把刚刚从Gitlab上创建的项目地址复制过来,
在这里推荐使用http的形式,避免因为权限的问题导致代码无法pull下来。
- 构建设置,继续往下拖看到构建选项,点击增加构建步骤,可以根据具体项目来选择,
在这里以Web的Maven项目为例。
选择Invoke top-level Maven targets
,Maven Version可根据个人选择,如果要添加自己下载的版本,
可在首页——>系统管理——>Global Tool Configuration全局工具配置下面找到Maven进行添加。推荐使用自己的Golas
框中填写maven的执行命令,比如:
packagetomcat:redeploy -Dmaven.test.skip=true -e -X
之后保存应用即可
注意:这里不需要添加mvn
命令,jenkins会自动帮我们添加的,还有每一个命令占单独一行。
自动化构建
好了,基本上都配置完了,现在该我们编写程序代码了。只需要从Gitlab上把源码pull
到本地,然后进行coding修改再push
上去即可。
Jenkins那边会监听到push
的操作后就自动pull
下载更新代码然后进行相应的构建部署了。
进入到Jenkins项目,可以查看到构建历史下面正在构建的项目,点击项目编号,再点击Console Output控制台输出就可以查看构建过程的详细日志了。
总结
当然了持续集成肯定没这么简单的,后面应该还要有自动Test测试,导出报告之类的。在这里只是搭建一个最基本最简单的持续集成框架。
- Jenkins+Gitlab搭建CI持续集成架构
- Jenkins+Gitlab搭建CI持续集成架构
- 利用Jenkins+Gitlab搭建持续集成(CI)环境
- 利用Jenkins+Gitlab搭建持续集成(CI)环境
- Jenkins + Gitlab 搭建持续集成
- 基于Gitlab CI搭建持续集成环境
- 基于Gitlab CI搭建持续集成环境
- Jenkins Gitlab持续集成打包平台搭建
- Jenkins Gitlab持续集成打包平台搭建
- Jenkins Gitlab持续集成打包平台搭建
- Jenkins Gitlab持续集成打包平台搭建
- 使用Jenkins搭建持续集成(CI)环境
- 使用Jenkins搭建持续集成(CI)环境
- 使用Jenkins搭建持续集成(CI)环境
- 使用Jenkins搭建持续集成(CI)环境
- 使用Jenkins搭建持续集成(CI)环境
- 使用Jenkins搭建持续集成(CI)环境
- Jenkins搭建持续集成(CI)环境
- nginx+tomcat+memcache----1 jdk+tomcat 环境配置
- 线性表之顺序表示算法实现(一)
- Java中使用Jedis操作Redis
- 剑指offer-算法题练习:part4 重建二叉树
- 欢迎使用CSDN-markdown编辑器
- Jenkins+Gitlab搭建CI持续集成架构
- 51串口通信
- 为什么说植保无人机发展将成为刚性需求?
- Codeforces Round-#373 (Div. 2 && Div. 1) [Codeforces719 && 718]
- Android Studio JNI 开发简单案例
- ifconfig命令
- HDU3461-Code Lock
- Java文件IO操作应该抛弃File拥抱Paths和Files
- Runtime Error:[ERROR] A Not allowed system call