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=自动化构建的更多相关文章

  1. Gitlab+Jenkins用钩子实现git提交后jenkins自动化构建

    Gitlab+Jenkins用钩子实现git提交后jenkins自动化构建 一.Jenkins 进入项目---->Configure 1.设置项目代码从git中拉取 2.设置钩子程序 二.git ...

  2. gitlab+jenkins自动化打包APK

    前置条件: 环境搭建,jenkins需要的插件看这里: gitlab+jenkins自动化打包IOS 配置思路: step1: 搭建sdk,gradle运行环境,参照: CentOS7下安装安装and ...

  3. Jenkins自动化构建python nose测试

    [本文出自天外归云的博客园] 简介 通过Jenkins自动化构建python nose测试分两步: 1. 创建节点(节点就是执行自动化测试的机器): 2. 创建任务并绑定节点(用指定的机器来跑我们创建 ...

  4. Jenkins自动化构建系列:01敏捷开发、自动化构建与持续集成

    <SVN与TortoiseSVN实战系列>已写完,今天新开一个<Jenkins自动化构建系列>,上周听了Bob Jiang老师的Agile1001公开课,一直想写个总结,这篇关 ...

  5. Jenkins自动化构建PHP实列教程

    安装Jenkins 请参考群主的安装教程 进入jenkins,添加SSH server,并且安装gitlab,Generic Webhook Trigger Plugin,GitHub plugin, ...

  6. gitlab+jenkins自动构建jar包并发布

    一.背景介绍: 公司软件都是java开发的,一般都会将java代码打包成jar包发布:为了减轻运维部署的工作量,合理偷懒,就需要自动化流程一条龙服务:开发将代码提交到gitlab--->jenk ...

  7. Jenkins自动化构建配置

    写在前头 我每次修改代码一点东西,都要进行一个重新发布.重新发布的流程大概如下: 将最新代码同步上传到git上面 Maven打包 mvn clean install 将最新的jar包上传到服务器上面, ...

  8. 使用jenkins自动化构建android和ios应用

    背景 随着业务需求的演进,工程的复杂度会逐渐增加,自动化的践行日益强烈.事实上,工程的自动化一直是我们努力的目标,能有效提高我们的生产效率,最大化减少人为出错的概率,实现一些复杂的业务需求应变.场景如 ...

  9. 用Docker运行Jenkins自动化构建.NET Core项目

    目标 当代码提交到GitHub后,自动生成构建项目并部署到服务器.接下来介绍一下如何在容器中运行Jenkins,并自动化构建GitHub上的项目,使用自动化构建来解放你的双手. 前置条件 一台已经安装 ...

随机推荐

  1. [原]CentOS7.2部署KVM虚拟机

    前段时间学习了关于PostGis.OSM数据以及Mapnik相关内容,接下来将利用假期重点学习PostgreSQL-XL和瓦片服务器集群技术,因此先把环境搭好.计划采用KVM来充分利用家里不太宽裕的“ ...

  2. Hibernate Generic DAO的介绍安装和使用

    java 的包挺多,比c#多 . jar包一个名,解压缩出来又出来又叫另一个名 .搜索起来,内容都分散的很 http://mvnrepository.com  maven库搜索 com.googlec ...

  3. JS生成PDF文件

    代码: var pdf = new jsPDF('p','pt','a4'); pdf.internal.scaleFactor = 1; //可以调整缩放比例 var options = { //p ...

  4. linux就该这么学,第十天了

    今天老师主要让要考试的提前预习课程了,提前预习, 今天讲了,防火墙,iptable.firewall-config,firewall-cmd   防火墙和网卡的配置方法,四种,1配置文件方法,主要开启 ...

  5. linux学习第七天 (Linux就该这么学)

    今天讲了chmod (权限 设置)和 chown(属性 设置),特殊权限:SUID u+s 数字法是4  x=s  - = S,SGID g+s 数字法是2 x=s -=S,SBIT o+t  x=t ...

  6. 51nod1305

    可以暴力,但这里学习了一个新思路,就是把原式进行分解会得到[1/a[i]+1/a[j]],因为向下取整,我们可以发现,1作用于1结果为2,1作用于除了1之外的数结果为1,2作用于2结果为1,所以我们只 ...

  7. const和static readonly 区别

    const的值是在编译期间确定的,因此只能在声明时通过常量表达式指定其值. 而static readonly是在运行时计算出其值的,所以还可以通过静态构造函数来赋值. static readonly ...

  8. 项目部署到服务器上之后request.getRemoteAddr()为什么获取的都是本地地址

    获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的.但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实IP地址了.如 ...

  9. SSM框架整合(Spring+SpringMVC+MyBatis+Oracle)

    1.开发环境搭建以及创建Maven Web项目 参看之前的博文[确保maven web项目不报错]:http://www.cnblogs.com/cainiaomahua/p/6306476.html ...

  10. selenium之生成html测试报告--testng.xsl

    自制版制作步骤: 1.首先下载一个文件名为testng.xslt-1.1.zip testng.xslt-1.1我在印象笔记里面备份了一份 打开testng.xslt中lib文件夹,找到saxon-8 ...