GitLab介绍

GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务。
系统环境准备
建议:内存4G以上不然带不动
[root@hejianlai-jenkins ~]# cat /etc/redhat-release
CentOS Linux release 7.4.1708 (Core)
[root@hejianlai-jenkins ~]# uname -r
3.10.0-693.el7.x86_64
#关闭firewalld和NetWorkManager

[root@hejianlai-jenkins ~]# systemctl stop firewalld
[root@hejianlai-jenkins ~]# systemctl stop NetWorkManager
#永久关闭
[root@hejianlai-jenkins ~]# systemctl disable firewalld
[root@hejianlai-jenkins ~]# systemctl disable NetWorkManager
#关闭selinux
[root@hejianlai-jenkins ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
[root@hejianlai-jenkins ~]# setenforce 0
#更换阿里源和下载epel源
[root@hejianlai-jenkins ~]#mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
[root@hejianlai-jenkins ~]#wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
[root@hejianlai-jenkins ~]#wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

#yum源更新,重启系统

[root@hejianlai-jenkins ~]# yum update && reboot
#安装相应工具
[root@hejianlai-jenkins ~]yum install curl policycoreutils openssh-server openssh-clients postfix -y
[root@hejianlai-jenkins ~]systemctl start postfix
#新建GitLab源
[root@hejianlai-jenkins ~]# vim /etc/yum.repos.d/gitlab-ce.repo
[gitlab-ce]
name=gitlab-ce
baseurl=http://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7
repo_gpgcheck=0
gpgcheck=0
enabled=1
gpgkey=https://packages.gitlab.com/gpg.key
[root@hejianlai-jenkins ~]# yum makecache
[root@hejianlai-jenkins ~]# yum install -y gitlab-ce
#安装git工具
[root@hejianlai-jenkins ~]# yum install git -y
#加载配置文件并启动,时间稍长
[root@hejianlai-jenkins ~]# gitlab-ctl reconfigure
#gitlab-ctl其他命令
启动:gitlib-ctl start
关闭:gitlab-ctl stop
重启:gitlab-ctl restart
重载配置:gitlab-ctl reconfigure
查看状态:gitlab-ctl status
#查看端口保证80端口不被占用
[root@hejianlai-jenkins ~]# lsof -i:80
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
nginx 700 root 7u IPv4 16903 0t0 TCP *:http (LISTEN)
nginx 804 gitlab-www 7u IPv4 16903 0t0 TCP *:http (LISTEN)

#gitlab配置文件路径

/etc/gitlab/gitlab.rb

浏览器登录gitlab,输入http://ip进入下图:

先输入密码,然后Register填写账户信息进入新建项目

填写ssh认证

测试拉取代码

[root@hejianlai-jenkins ~]# git clone git@hejianlai-jenkins:web/web-demo.git
Cloning into 'web-demo'...
remote: Counting objects: 6, done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 6 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (6/6), done.
[root@hejianlai-jenkins ~]# ls
anaconda-ks.cfg epel-release-latest-7.noarch.rpm web-demo
[root@hejianlai-jenkins ~]# ls web-demo/
index.html README.md

上传代码

[root@hejianlai-jenkins web-demo]# echo "test" >>test.txt

[root@hejianlai-jenkins web-demo]# git config --global user.email "you@example.com"
[root@hejianlai-jenkins web-demo]# git config --global user.name "Your Name"
[root@hejianlai-jenkins web-demo]# git add *
[root@hejianlai-jenkins web-demo]# git commit -m "add test.txt"
[master 5df66f7] add test.txt
1 file changed, 1 insertion(+)
create mode 100644 test.txt
[root@hejianlai-jenkins web-demo]# git push
warning: push.default is unset; its implicit value is changing in
Git 2.0 from 'matching' to 'simple'. To squelch this message
and maintain the current behavior after the default changes, use: git config --global push.default matching To squelch this message and adopt the new behavior now, use: git config --global push.default simple See 'git help config' and search for 'push.default' for further information.
(the 'simple' mode was introduced in Git 1.7.11. Use the similar mode
'current' instead of 'simple' if you sometimes use older versions of Git) Counting objects: 4, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 314 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To git@hejianlai-jenkins:web/web-demo.git
18a57cf..5df66f7 master -> master

GitLab上查看:

#安装JenKins

[root@hejianlai-jenkins web-demo]# sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo

[root@hejianlai-jenkins web-demo]# sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
[root@hejianlai-jenkins web-demo]# yum install java jenkins –y
#JenKins默认端口为8080,因为gitlab已经占用我们需要更改。 [root@hejianlai-jenkins web-demo]# vim /etc/sysconfig/jenkins JENKINS_PORT="8080" ---> JENKINS_PORT="8081"

#启动JenKins

[root@hejianlai-jenkins web-demo]# /etc/init.d/jenkins start
Starting jenkins (via systemctl): [ OK ]

#浏览器登录JenKins,地址:http://192.168.247.135:8081/

正在启动;

进入有个密码路径,系统上查看这个文件并把密码复制粘贴才能登录;

选择推荐安装;

创建一个管理员

开始使用jenkins

下面实现持续集成

进入主页--创建一个新任务

输入项目名称---构建一个自由风格的软件项目---确认

General--填写项目描述

源码管理--安装git插件--授权认证

ssh私钥认证我们在系统上查看粘贴进去即可。

Credentials—选择root

查看gitlab版本

[root@hejianlai-jenkins ~]# rpm -aq|grep gitlab
gitlab-ce-10.6.0-ce.0.el7.x86_64

点击立即构建

点击控制台输出查看

控制台输出,SUCCESS则构建成功

 
 

Jenkins系列之三——centos7.4+GitLab+Jenkins部署的更多相关文章

  1. SCCM 2012 R2实战系列之三:独立主站点部署

    3.1 SCCM 2012 R2主站点的安装 SCCM 2012 R2跟以前的SCCM 2007不同的是多了一个管理中心站点的角色, 管理中心站点主要负责SCCM管理控制和报表查看. 主站点跟以往的S ...

  2. gitlab+jenkins+tomcat CI/CD 部署

    整个项目的框架为: gitlab的安装与使用(Centos7) gitlab的安装 新建yum源 vim /etc/yum.repos.d/gitlab-ce.repo [gitlab-ce] nam ...

  3. .Net Core自动化部署系列(一):Jenkins + GitLab

    项目进行微服化改造后系统发布就变得愈为重要,因为持续集成导致部署变得越来越频繁,人工部署带来的一些问题日渐凸显,大家可能都有被系统部署线问题困扰过的经历. 本篇我们将会使用Jenkins+Gitlab ...

  4. 【Gitlab+Jenkins+Ansible】构建自动化部署

    说明: Gitlab.Jenkins.生产服务器.测试服务器上都需要安装Git. 一.安装Gitlab 1.主机配置 IP: 10.10.10.105 OS: CentOs7. Gitlab版本:gi ...

  5. 关于gitlab+jenkins自动部署代码的实现

    本人PHP开发者,项目组大多是PHP,少量java项目. 因公司目前服务器和项目的管理比较混乱,与领导商量后,决定尝试 gitlab+jenkins自动化部署(之前用的svn FTP手动部署代码),解 ...

  6. devops持续集成,Centos7.6下gitlab+jenkins(pipeline)实现代码自动上线

    持续集成 gitlab+jenkins(pipeline)实现代码自动上线 环境准备:Centos7.6版本ip:192.168.0.13 主机名:gitip:192.168.0.23 主机名:jen ...

  7. CentOS 7 Gitlab+Jenkins持续集成+自动化部署

    基于上次的环境<部署Gitlab+Jenkins持续集成环境> 来实现自动化部署 系统管理–>插件管理–>安装以下插件: Credentials Plugin(默认已经安装) ...

  8. CentOS 7 部署Gitlab+Jenkins持续集成(CI)环境

    持续集成概述及运行流程 : 持续集成概述 :持续集成(Continuous integration)持续集成是指开发者在代码的开发过程中 ,可以频繁的将代码部署集成到主干,并进行自动化测试  开发→代 ...

  9. Gitlab+Jenkins实现自动部署

    Gitlab+Jenkins实现自动部署   系统环境: Gitlab主机 IP:192.168.1.2 Jenkins主机 IP:192.168.1.3 一.为何要做自动部署 #部署Tomcat的在 ...

随机推荐

  1. LR基础理论详解

    本人参考了大神的博客(https://blog.csdn.net/cyh_24/article/details/50359055),写的非常详细,在此整理一下要点 逻辑斯蒂分布 基础公式了解 二项逻辑 ...

  2. 计算a月的第b个星期c

    计算从y1到y2年a月的第b个星期c的日期 #include<iostream> using namespace std; bool isLeap(int y) { == || y%==& ...

  3. 本机连接Spark Standalone--最简单的spark调试方式

    为了既能远程连接spark  查看ui  又能本地练习  安装简单 去官网  http://spark.apache.org/downloads.html  选择对应版本下载 tar包 解压 tar ...

  4. SQL Server 2000使用链接服务器

    执行:安装盘\SQL2KSP4\install\instcat.sql 文件下载地址:http://download.csdn.net/detail/taomanman/5680765

  5. vs [失败]未能找到文件

    用文本文件打开csproj 文件.将里面的不需要文件删除; 或者在工程里面先将其移出工程.然后再删除;

  6. 杨其菊201771010134《面向对象程序设计(java)》第一周学习总结

    第一部分:课程准备部分 填写课程学习 平台注册账号, 平台名称 注册账号 博客园:www.cnblogs.com 安迪儿 程序设计评测:https://pintia.cn/ 迷路的麋鹿回不来家了 代码 ...

  7. linux debian 9 / centos 7配置postgresSQL数据库

    #读者注意:本文可以选择不看解释,直接执行每段的0中的代码 (〇):一些概念(可以跳过直接使用(一)0的代码) 1. 客户端:psql.postgreSQL的命令行客户端程序,在终端输入psql进入p ...

  8. RNQOJ 4 数列

    把N化成二进制是关键,比如把序号10化成二进制就是1010,对于K=2来说第10个数就是2^3+2^1,对于k=3来说第10个数就是3^3+3^1;这里只需要把K替代一下就可以解决了 #include ...

  9. 无线网卡连接网络后共享给本地有线网卡使用(Win10)

    无线网卡连接网络后共享给本地有线网卡使用(Win10) 1. 本文主要目的是介绍地有线网卡共享无线网卡的Wifi信号,该应用场景如下: 当在只有wifi环境下,同时有两台电脑A和B,   A为笔记本: ...

  10. 配置 npm 缓存目录,防止占满系统版

    通过命令编辑缓存的路径配置: npm config edit 内如如: 指定到系统盘之外的路径,如 d: 盘:然后将原来目录中已缓存的内如剪切过来~ Notice(2019.3.15): 截图中路径含 ...