gitlab+jenkins=自动化构建
jenkins:运维持续集成工具,靠着丰富的插件挑大梁。
gitlab:git代码管理仓库web版,功能强大且丰富。
本文是记录自己工作中从搭建到使用~
前提是会点git~可以去廖老师的网站学习:www.liaoxuefeng.com
1.环境准备
服务器一台:CentOS7
内存:8G
CPU:2核以上
基础优化~不说了,主要是关防火墙和selinux
2.gitlab搭建
2.1源:
cat >>/etc/yum.repos.d/gitlab-ce.repo<<EOF
[gitlab-ce]
name=Gitlab CE Repository
baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el\$releasever/
gpgcheck=0
enabled=1
EOF
2.2yum安装并启动
yum install gitlab-ce -y
gitlab-ctl reconfigure
netstat -tunlp|grep 80 #80和8080都开着就对了,访问 本机IP就ok了
第一次会让你改root密码,该完了登陆进去就可以了

2.3其他基本管理命令
gitlab-ctl reconfigure        #第一次启动加载配置
gitlab-ctl start                   # 启动
gitlab-ctl stop                   #停止
gitlab-ctl restart                #重启
gitlab-ctl status                #查看状态
gitlab-ctl tail #查看日志
3.jenkins
3.1安装jenkins
yum install yum-fastestmirror -y
wget -O /etc/yum.repos.d/jenkins.repo http://jenkins-ci.org/redhat/jenkins.repo
rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key
yum install jenkins -y
vim /etc/sysconfig/jenkins
JENKINS_PORT="8001" #修改一下jenkins监听端口
JENKINS_HOME="/data/jenkins/" #自定义jenkins数据目录也就是jenkins的家目录
mkdir /data/jenkins
systemctl restart jenkins
systemctl enable jenkins
访问:http://IP:8001
出现jenkins配置页面
根据步骤一步步来,先让你输入生成的密码,去指定的地方找吧,随后装推荐的插件,和默认admin,有啥问题回头找我吧。

出现一个逗B老头,登录上去
系统管理-系统用户-改你的密码

开始安装插件!

主页-系统管理-插件管理
我们安装几个插件 ,直接搜索就可以
ssh #执行远程脚本
gitlab #集成gitlab用
Build Authorization Token Root #构建授权token
Gitlab hook #钩子插件
3.2配置jenkins和gitlab密钥对
首先我们配置ssh密钥对,让jenkins和gitlab通信无需密码,直接用密钥认证
在linux终端
ssh-keygen -t rsa #一路回车 会在/root/ 生成.ssh/目录 里边有rsa rsa.pub 两个文件

我们把id_rsa文件的内容拷贝,放到这。




点OK。
把.ssh目录的另一个rsa.pub放到这
先点右上角头像-settings
出现如图点ssh密钥

pub放进来 OK

3.3配置jenkins ssh服务器
jenkins主页面-系统管理-系统设置

3.4创建一个项目gitlab和jenkins
3.4.1gitlab

创建就行了 点点点就玩了,而且gitlab有步骤,按照步骤用git命令搞git仓库出来
3.4.2jenkins
取个名,项目名,最好可gitlab的项目名一致

在源码管理点git

这个RUL填写git项目的url就是这个 SSH的这个 点开你的项目就能看到了

触发器,当gitlab有提交时可以触发

ssh配置(可选)
如果你不需要执行自定义脚本的话这布跳过

保存!
4.gitlab hook配置

这第一行就写http://jenkins的地址/job/test_jenkins_gitlab/build?token=123456 #test_jenkins_gitlab 是jenkins的项目名,token是我刚才设置的

点下边ok
如果报错403 说明没有权限,其他的则是配置问题
403报错解决办法:我们把jenkins配置,系统管理-全局安全配置
照我的一致就没问题

配置好了之后重启一下,不重启也生效。
然后我们在linux终端上操作 上传代码
就可以自动构建jenkins项目了~
教程到此结束,主要是403的报错坑了我好久,百度谷歌都没用,最后还是自己看java的报错
如有其他问题可以微信我535068621
gitlab+jenkins=自动化构建的更多相关文章
- Gitlab+Jenkins用钩子实现git提交后jenkins自动化构建
		Gitlab+Jenkins用钩子实现git提交后jenkins自动化构建 一.Jenkins 进入项目---->Configure 1.设置项目代码从git中拉取 2.设置钩子程序 二.git ... 
- gitlab+jenkins自动化打包APK
		前置条件: 环境搭建,jenkins需要的插件看这里: gitlab+jenkins自动化打包IOS 配置思路: step1: 搭建sdk,gradle运行环境,参照: CentOS7下安装安装and ... 
- Jenkins自动化构建python nose测试
		[本文出自天外归云的博客园] 简介 通过Jenkins自动化构建python nose测试分两步: 1. 创建节点(节点就是执行自动化测试的机器): 2. 创建任务并绑定节点(用指定的机器来跑我们创建 ... 
- Jenkins自动化构建系列:01敏捷开发、自动化构建与持续集成
		<SVN与TortoiseSVN实战系列>已写完,今天新开一个<Jenkins自动化构建系列>,上周听了Bob Jiang老师的Agile1001公开课,一直想写个总结,这篇关 ... 
- Jenkins自动化构建PHP实列教程
		安装Jenkins 请参考群主的安装教程 进入jenkins,添加SSH server,并且安装gitlab,Generic Webhook Trigger Plugin,GitHub plugin, ... 
- gitlab+jenkins自动构建jar包并发布
		一.背景介绍: 公司软件都是java开发的,一般都会将java代码打包成jar包发布:为了减轻运维部署的工作量,合理偷懒,就需要自动化流程一条龙服务:开发将代码提交到gitlab--->jenk ... 
- Jenkins自动化构建配置
		写在前头 我每次修改代码一点东西,都要进行一个重新发布.重新发布的流程大概如下: 将最新代码同步上传到git上面 Maven打包 mvn clean install 将最新的jar包上传到服务器上面, ... 
- 使用jenkins自动化构建android和ios应用
		背景 随着业务需求的演进,工程的复杂度会逐渐增加,自动化的践行日益强烈.事实上,工程的自动化一直是我们努力的目标,能有效提高我们的生产效率,最大化减少人为出错的概率,实现一些复杂的业务需求应变.场景如 ... 
- 用Docker运行Jenkins自动化构建.NET Core项目
		目标 当代码提交到GitHub后,自动生成构建项目并部署到服务器.接下来介绍一下如何在容器中运行Jenkins,并自动化构建GitHub上的项目,使用自动化构建来解放你的双手. 前置条件 一台已经安装 ... 
随机推荐
- 贝叶斯---最大似然估计(高翔slam---第六讲 )
			1.贝叶斯---最大似然估计 回顾一下第二讲的经典SLAM模型: 通过传感器(例如IMU)的运动参数u来估计运动(位姿x)[定位],通过相机的照片的观测参数z来估计物体的位置(地图y)[建图],都是有 ... 
- node.js 调试问题
			最近打算在项目过程中使用node.js辅助解决一些问题,需要用到node.js的调试技术. 通常而言,大家都会提到debugger或者node-inspector方法. debugger方法谁用谁知道 ... 
- centos 安装tmux
			安装tmux之前需要先安装一些支持的组件: yum install libevent-devel ncurses-devel 接下来就是下载源码包进行安装了,以1.6版本举例 wget http:// ... 
- Python开发——3.基本数据类型之列表、元组和字典
			一.列表(list) 1.列表的格式 li = [11,22,"kobe",["lakers","ball",11],(11,22,),{& ... 
- [solution] JZOJ-5458 质数
			[solution] JZOJ-5458 质数 题面 Description 小X 是一位热爱数学的男孩子,在茫茫的数字中,他对质数更有一种独特的情感.小X 认为,质数是一切自然数起源的地方. 在小X ... 
- 《pyhton语言程序设计》_第一章笔记
			章1.62 (1).python区分大小写. (2).python忽略在符号#之后的同行的内容 (3).python和matlab很相似(个人感觉) (4).章节1.91: >>>i ... 
- MVC身份验证及权限管理(转载)
			from https://www.cnblogs.com/asks/p/4372783.html MVC自带的ActionFilter 在Asp.Net WebForm的中要做到身份认证微软为我们提供 ... 
- ZKWeb网页框架1.8正式发布
			1.8.0更新的内容有 破坏性更新 更新ZKWeb.System.Drawing到3.0.0 请修改源代码中的System.Drawing到System.DrawingCore 现在已经不再需要使用D ... 
- 856. Score of Parentheses
			Given a balanced parentheses string S, compute the score of the string based on the following rule: ... 
- React中的“双向绑定”
			概述 React并不是一个MVVM框架,其实它连一个框架都算不上,它只是一个库,但是react生态系统中的flux却是一个MVVM框架,所以我研究了一下flux官方实现中的"双向绑定&quo ... 
