gitlab

gitlab介绍

GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务。安装方法是参考GitLab在GitHub上的Wiki页面。

Gitlab的优势和应用场景
1.开源免费,适合中小型公司将代码放置在该系统中
2.差异化的版本管理,离线同步以及强大分支管理功能
3.便捷的GUI操作界面以及强大账户权限管理功能
4.集成度很高,能够集成绝大数的开发工具
5.支持内置HA,保证在高并发下仍旧实现高可用性

gitlab部署

配置阿里云镜像源
下载网络源和epel源
[root@localhost ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
--2020-07-30 21:45:26--  https://mirrors.aliyun.com/repo/Centos-7.repo
正在解析主机 mirrors.aliyun.com (mirrors.aliyun.com)... 45.253.17.212, 45.253.17.214, 45.253.17.211, ...
正在连接 mirrors.aliyun.com (mirrors.aliyun.com)|45.253.17.212|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:2523 (2.5K) [application/octet-stream]
正在保存至: “/etc/yum.repos.d/CentOS-Base.repo”

100%[=============================================>] 2,523       --.-K/s 用时 0s      

2020-07-30 21:45:26 (1.02 GB/s) - 已保存 “/etc/yum.repos.d/CentOS-Base.repo” [2523/2523])
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# ls
CentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-Media.repo    CentOS-Vault.repo
CentOS-CR.repo    CentOS-fasttrack.repo  CentOS-Sources.repo
[root@localhost yum.repos.d]# vim CentOS-Base.repo    修改内容如下图 把$release修改为7
[root@localhost yum.repos.d]# sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo
[root@localhost yum.repos.d]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
--2020-07-30 21:49:30--  http://mirrors.aliyun.com/repo/epel-7.repo
正在解析主机 mirrors.aliyun.com (mirrors.aliyun.com)... 45.253.17.212, 45.253.17.216, 45.253.17.226, ...
正在连接 mirrors.aliyun.com (mirrors.aliyun.com)|45.253.17.212|:80... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:664 [application/octet-stream]
正在保存至: “/etc/yum.repos.d/epel.repo”

100%[=============================================>] 664         --.-K/s 用时 0s      

2020-07-30 21:49:31 (58.6 MB/s) - 已保存 “/etc/yum.repos.d/epel.repo” [664/664])

[root@localhost yum.repos.d]# ls
CentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-Media.repo    CentOS-Vault.repo
CentOS-CR.repo    CentOS-fasttrack.repo  CentOS-Sources.repo  epel.repo

在这里插入图片描述

安装Git包和其他依赖包
[root@localhost ~]# yum -y install git curl openssh-server openssh-clients postfix cronie policycoreutils-python

设置邮箱服务的开机自启
因为邮箱服务默认是开启的 所有重启就可以
[root@localhost ~]# systemctl restart postfix
[root@localhost ~]# ss -antl
State       Recv-Q Send-Q Local Address:Port               Peer Address:Port              
LISTEN      0      128             *:22                          *:*                  
LISTEN      0      100     127.0.0.1:25                          *:*                  
LISTEN      0      128            :::22                         :::*                  
LISTEN      0      100           ::1:25                         :::*                  

下载gitlab包
[root@localhost ~]# cd /usr/src/
[root@localhost src]# ls
debug  gitlab-ce-11.2.1-ce.0.el7.x86_64.rpm  kernels
[root@localhost src]# rpm -ivh gitlab-ce-11.2.1-ce.0.el7.x86_64.rpm 
警告:gitlab-ce-11.2.1-ce.0.el7.x86_64.rpm: 头V4 RSA/SHA1 Signature, 密钥 ID f27eab47: NOKEY
准备中...                          ################################# [100%]
正在升级/安装...
   1:gitlab-ce-11.2.1-ce.0.el7        ################################# [100%]
It looks like GitLab has not been configured yet; skipping the upgrade script.

       *.                  *.
      ***                 ***
     *****               *****
    .******             *******
    ********            ********
   ,,,,,,,,,***********,,,,,,,,,
  ,,,,,,,,,,,*********,,,,,,,,,,,
  .,,,,,,,,,,,*******,,,,,,,,,,,,
      ,,,,,,,,,*****,,,,,,,,,.
         ,,,,,,,****,,,,,,
            .,,,***,,,,
                ,*,.
  


     _______ __  __          __
    / ____(_) /_/ /   ____ _/ /_
   / / __/ / __/ /   / __ `/ __ \
  / /_/ / / /_/ /___/ /_/ / /_/ /
  \____/_/\__/_____/\__,_/_.___/
  

Thank you for installing GitLab!
GitLab was unable to detect a valid hostname for your instance.
Please configure a URL for your GitLab instance by setting `external_url`
configuration in /etc/gitlab/gitlab.rb file.
Then, you can start your GitLab instance by running the following command:
  sudo gitlab-ctl reconfigure

For a comprehensive list of configuration options please see the Omnibus GitLab readme
https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/README.md

此时还未完成要修改文件修改成自己虚拟机的IP地址即可

[root@localhost src]# vim /etc/gitlab/gitlab.rb

在这里插入图片描述

重载配置文件并重启
[root@localhost ~]# gitlab-ctl reconfigure
[root@localhost src]# gitlab-ctl restart
ok: run: alertmanager: (pid 79960) 0s
ok: run: gitaly: (pid 79989) 1s
ok: run: gitlab-monitor: (pid 80006) 0s
ok: run: gitlab-workhorse: (pid 80047) 1s
ok: run: logrotate: (pid 80059) 0s
ok: run: nginx: (pid 80065) 0s
ok: run: node-exporter: (pid 80161) 1s
ok: run: postgres-exporter: (pid 80169) 0s
ok: run: postgresql: (pid 80193) 1s
ok: run: prometheus: (pid 80202) 0s
ok: run: redis: (pid 80230) 0s
ok: run: redis-exporter: (pid 80275) 0s
ok: run: sidekiq: (pid 80359) 0s
ok: run: unicorn: (pid 80393) 0s

在这里插入图片描述
在这里插入图片描述

破解管理员密码

[root@localhost ~]# gitlab-rails console production
-------------------------------------------------------------------------------------
 GitLab:       11.2.1 (2d6c1c6)
 GitLab Shell: 8.1.1
 postgresql:   9.6.8
-------------------------------------------------------------------------------------
Loading production environment (Rails 4.2.10)
irb(main):001:0> user = User.where(id: 1).first         id为1的是超级管理员 
=> #<User id:1 @root>
irb(main):002:0> user.password = 'yangcan123'      密码必须至少8个字符 
=> "yangcan123"
irb(main):003:0> user.password_confirmation = 'yangcan123'
=> "yangcan123"
irb(main):004:0> user.save!        保存修改,若无问题将返回true
Enqueued ActionMailer::DeliveryJob (Job ID: 40674b12-f802-47db-945e-da56bf266bc6) to Sidekiq(mailers) with arguments: "DeviseMailer", "password_change", "deliver_now", gid://gitlab/User/1
=> true
irb(main):005:0> exit     退出

修改完密码后退出用旧密码发现登不进去
在这里插入图片描述
输入新密码登录
在这里插入图片描述
以上gitlab搭建完成

CICD案例

环境说明

主机名IP说明
yangcan1192.168.175.150gitlab
yangcan2192.168.175.100Jenkins,tomcat
yangcan3192.168.175.151tomcat

gitlab安装如上此处省略

三台虚拟机都要下载阿里云的源把$releasever 改为7
[root@yangcan2 ~]# curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100  2523  100  2523    0     0   1456      0  0:00:01  0:00:01 --:--:--  1457
[root@yangcan2 ~]# 
[root@yangcan2 ~]# sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo
[root@yangcan2 ~]# 
[root@yangcan2 ~]# vim /etc/yum.repos.d/CentOS-Base.repo 
[root@yangcan2 ~]# yum makecache fast

[root@yangcan3 ~]# curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  2523  100  2523    0     0  12234      0 --:--:-- --:--:-- --:--:-- 12247
[root@yangcan3 ~]# sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo
[root@yangcan3 ~]# vim /etc/yum.repos.d/CentOS-Base.repo 
[root@yangcan3 ~]# yum makecache fast

关闭防火墙
[root@yangcan2 ~]# systemctl stop firewalld
[root@yangcan2 ~]# systemctl disable firewalld
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
Removed symlink /etc/systemd/system/basic.target.wants/firewalld.service.

[root@yangcan3 ~]# systemctl stop firewalld
[root@yangcan3 ~]# systemctl disable firewalld
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
Removed symlink /etc/systemd/system/basic.target.wants/firewalld.service.

2和3都要安装tomcat

2和3安装openjdk
[root@yangcan2 ~]# yum -y install java-1.8.0-openjdk java-1.8.0-openjdk-devel
[root@yangcan3 ~]# yum -y install java-1.8.0-openjdk java-1.8.0-openjdk-devel


2上面下载tomcat和Jenkins包
[root@yangcan2 ~]# ls
!  anaconda-ks.cfg  apache-tomcat-9.0.37.tar.gz  jenkins.war
3上面下载tomcat包
[root@yangcan3 ~]# ls
anaconda-ks.cfg  apache-tomcat-9.0.37.tar.gz

登录页面
在这里插入图片描述
点击下面框可以查看项目等信息
在这里插入图片描述
按照图示点击去创建项目
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
点击上传文件(此选项只是开发人员去上传)
在这里插入图片描述
点击添加用户,密码是创建完用户之后点开编辑才能创建
在这里插入图片描述
点击edit设置密码
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
设置项目访问权限
点击project选择edit
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
验证是否添加成功
在这里插入图片描述
在这里插入图片描述
此时必须设置新密码,然后登陆成功
在这里插入图片描述
项目一般都是加,没有删除
员工离职也是禁用,不是删除
来了新人直接把用户改名,解除禁用就行

2进行安装tomcat

解压并做软链接
[root@yangcan2 ~]# tar xf apache-tomcat-9.0.37.tar.gz -C /usr/local/
[root@yangcan2 ~]# cd /usr/local/
[root@yangcan2 local]# ln -s apache-tomcat-9.0.37 tomcat
[root@yangcan2 local]# ls
apache-tomcat-9.0.37  etc    include  lib64    sbin   src
bin                   games  lib      libexec  share  tomcat
[root@yangcan2 local]# cd tomcat/
[root@yangcan2 tomcat]# ls
bin           conf             lib      logs    README.md      RUNNING.txt  webapps
BUILDING.txt  CONTRIBUTING.md  LICENSE  NOTICE  RELEASE-NOTES  temp         work
[root@yangcan2 tomcat]# cd webapps/
[root@yangcan2 webapps]# ls
docs  examples  host-manager  manager  ROOT
[root@yangcan2 webapps]# ls ~
!  anaconda-ks.cfg  apache-tomcat-9.0.37.tar.gz  jenkins.war

部署Jenkins
[root@yangcan2 webapps]# cp ~/jenkins.war .
[root@yangcan2 webapps]# ls
docs  examples  host-manager  jenkins.war  manager  ROOT

启动Jenkins
[root@yangcan2 webapps]# ../bin/startup.sh
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.
[root@yangcan2 webapps]# ss -antl
State       Recv-Q Send-Q Local Address:Port               Peer Address:Port              
LISTEN      0      128             *:22                          *:*                  
LISTEN      0      100     127.0.0.1:25                          *:*                  
LISTEN      0      100            :::8080                       :::*                  
LISTEN      0      128            :::22                         :::*                  
LISTEN      0      100           ::1:25                         :::*                  
LISTEN      0      1        ::ffff:127.0.0.1:8005                       :::*           

启动后Jenkins自动解压文件
[root@yangcan2 webapps]# ls
docs  examples  host-manager  jenkins  jenkins.war  manager  ROOT

访问页面8080/Jenkins
在这里插入图片描述
在这里插入图片描述
虚拟机查看密码并复制密码登录

[root@yangcan2 webapps]# cat /root/.jenkins/secrets/initialAdminPassword
5184a623cfc0427abdb666c39f2932b1

安装git
[root@yangcan2 ~]# yum -y install git

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
设置密码

在这里插入图片描述
在这里插入图片描述
配置通用工具
在这里插入图片描述
发布项目
新建项目
在这里插入图片描述
在这里插入图片描述
先安装插件
在这里插入图片描述
选择插件安装(此时我选的是git和git client 、gitlab、gitee)
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值