精华内容
下载资源
问答
  • 最全的GitLab安装及使用教程,使用该教程你可以快速上手GitLab的安装及使用方法,很好很全的学习教程。
  • gitlab安装
  • gitlab安装教程

    2017-06-17 02:51:44
    教程、有效、超级好用
  • gitlab 安装以及卸载

    2020-07-09 13:50:26
    gitlab数据迁移前期准备: gitlab’s repos Omnibus GitLab Docs gitlab-清华大学开源软件镜像站

    gitlab数据迁移前期准备:

    数据源

    gitlab’s repos
    Omnibus GitLab Docs
    gitlab-清华大学开源软件镜像站

    安装

    插件

    gitlab新增新用户有两种方式:
    第一种可以用户主动注册(自己设置密码);
    第二种也可以通过root管理员用户直接添加用户,发个邮件到用户的邮箱里,收到邮件后激活。
    如果是第二种方式添加新用户的话,就需要配置gitlab邮箱了,而在linux环境里发送邮件就需要安装postfix(电子邮件服务器)工具、安装所需要的依赖。

    # 安装Postfix以发送通知邮件
    # yum install -y curl policycoreutils-python openssh-server postfix
    
    # 将postfix服务设置成开机自启动
    # systemctl enable postfix
    
    # 启动postfix
    # systemctl start postfix
    

    在这里插入图片描述

    查看postfix是否是启动状态

    # systemctl status postfix
    

    在这里插入图片描述
    Active: active (running)说明,已经启动了。

    还需要ssh 、防火墙 等,一般服务器都已经安装好了!

    一、使用 docker 安装
    docker的优点,搭建快,运行要求资源低,最重要的是实现的功能和效果都能达到预期

    1、安装和启动docker

    可以参考使用终端在centos7安装docker详细命令行

    安装:yum -y install docker

    启动:systemctl start docker

    开机启动:systemctl enable docker

    2、拉取镜像文件

    # gitlab-ce为稳定版本,后面不填写版本则默认pull最新latest版本
    $ docker pull gitlab/gitlab-ce
    
    指定版本号:
    docker pull gitlab/gitlab-ce:12.0.4-ce.0
    

    3、运行gitlab容器

    查看镜像

    docker images
    

    在这里插入图片描述
    从gitlab镜像启动容器

    docker run -d -h gitlab-ce -p 8443:443 -p 9099:80 -p 10022:22 --name gitlab --restart always -v /data/gitlab/config:/etc/gitlab -v /data/gitlab/logs:/var/log/gitlab -v /data/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce:12.0.4-ce.0
    

    在这里插入图片描述
    说明:

    # -d:后台运行
    # -h  hostname
    # -p:将容器内部端口向外映射
    # ssh的 22 端口映射为 10022 端口,web访问的 80 端口映射为 9099 端口
    # --name:命名容器名称
    # --restart always  当容器退出或宿主机重启的时候,容器接着会始终重启
    # -v(volume):将容器内数据文件夹或者日志、配置等文件夹挂载到宿主机指定目录(config配置目录、data数据目录、logs日志目录)
    

    4、配置gitlab服务器的访问地址及邮箱
    修改gitlab容器的配置文件
    (运行容器的时候将文件转存的位置不同,配置文件的位置也不相同,一般都是将文件存到下面这几个文件内,方便日后备份等使用)

    docker exec -it gitlab vi /etc/gitlab/gitlab.rb
    
    vim /home/gitlab/config/gitlab.rb
    
    vim /opt/gitlab/config/gitlab.rb
    
    vi /mnt/gitlab/etc/gitlab.rb
    

    修改为服务器的ip地址:

    external_url 'http://115.159.84.173'
    
    # 配置ssh协议所使用的访问地址和端口
    gitlab_rails['gitlab_ssh_host'] = '172.16.81.81'
    gitlab_rails['gitlab_shell_ssh_port'] = 10022
    
    # 这里以新浪的邮箱为例配置smtp服务器
    gitlab_rails['smtp_enable'] = true
    gitlab_rails['smtp_address'] = "smtp.xxx.com"
    gitlab_rails['smtp_port'] = 25
    gitlab_rails['smtp_user_name'] = "name4mail"
    gitlab_rails['smtp_password'] = "passwd4mail"
    gitlab_rails['smtp_domain'] = "xxx.com"
    gitlab_rails['smtp_authentication'] = :login
    gitlab_rails['smtp_enable_starttls_auto'] = true
    
    # 还有个需要注意的地方是指定发送邮件所用的邮箱,这个要和上面配置的邮箱一致
    gitlab_rails['gitlab_email_from'] = 'name4mail@xxx.com'
    
    # 设置网络IP
    pipework br0 gitlab-ce 172.16.81.81/24@172.16.81.1
    

    修改gitlab.rb配置文件之后重启容器gitlab

    docker restart  gitlab
    

    二、镜像安装

    一)
    使用yum源安装

    配置yum源

    vim /etc/yum.repos.d/gitlab-ce.repo
    
    [gitlab-ce]
    name=Gitlab CE Repository
    baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/
    gpgcheck=0
    enabled=1
    

    更新本地yum缓存

    yum makecache
    

    【注】把服务器的包信息下载到本地电脑缓存起来,makecache建立一个缓存,以后用install时就在缓存中搜索,提高了速度。
    配合yum -C search xxx使用,不用上网检索就能查找软件信息。
    需要定期清理缓存。

    $ yum clean all
    

    安装GitLab社区版

    yum install -y gitlab-ce #自动安装最新版本
    

    若需安装指定版本,则添加版本号即可,即

    yum install gitlab-ce-x.x.x
    

    二)

    1. 添加gitlab镜像
    wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-10.0.0-ce.0.el7.x86_64.rpm
    
    1. 安装gitlab 安装命令
    rpm -i gitlab-ce-10.0.0-ce.0.el7.x86_64.rpm
    
    1. 修改gitlab配置文件指定服务器ip和自定义端口
    vim  /etc/gitlab/gitlab.rb
    
      //##  GitLab URL
    ##! URL on which GitLab will be reachable.
    ##! For more details on configuring external_url see:
    ##! https://docs.gitlab.com/omnibus/settings/configuration.html#configuring-the-external-url-for-gitlab
    
    # 配置http协议所使用的访问地址,不加端口号默认为80
    external_url 'http://gitlab.example.com'
    
    # 配置ssh协议所使用的访问地址和端口
    gitlab_rails['gitlab_ssh_host'] = '192.168.199.231'
    gitlab_rails['gitlab_shell_ssh_port'] = 222 # 此端口是run时22端口映射的222端口
    
     //##  Legend
    ##! The following notations at the beginning of each line may be used to
    ##! differentiate between components of this file and to easily select them using
    

    把 external_url 这项的内容改为你的IP或域名即可
    (如:external_url ‘http://114.56.136.28’ 或 external_url ‘http://gitlab.com’ )

    1. 重置并启动GitLab
    # 重新加载配置
    gitlab-ctl reconfigure
    
    # 启动gitlab
    gitlab-ctl restart
    
    # 查看gitlab运行状况
    gitlab-ctl status
    
    gitlab-ctl reconfigure # 启动服务;
    (重新加载配置文件,在GitLab初次安装后可以使用,但是在业务环境中不可随意使用,reconfigure会把一些过去的config还原,导致修改的端口以及域名等都没有了。)
    
    vim /etc/gitlab/gitlab.rb # 修改默认的配置文件;
    
    gitlab-rake gitlab:check SANITIZE=true --trace # 检查gitlab;
    
    sudo gitlab-ctl tail # 查看日志;
    

    提示 "ok: run:"表示启动成功

    修改git创库位置:

    sudo rsync -av /var/opt/gitlab/git-data /data/gitlab/
    

    修改备份路径位置:

    sudo rsync -av /var/opt/gitlab/backups /data/gitlab/
    

    修改配置文件:

    vim /etc/gitlab/gitlab.rb 
    

    创建备份
    在创建备份的之前,需打开配置文件找到两航关键的代码

    gitlab_rails['manage_backup_path'] = ture
    gitlab_rails['backup_path'] = 'var/opt/gitlab/backup'(路径可以自己改变)
    
    将这两行代码放开,之后重新加载配置文件
    gitlab_ctl reconfigure
    
    1. 访问 GitLab页面

    如果没有域名,直接输入服务器ip和指定端口进行访问

    升级新服务器版本命令:

    apt update
    apt install gitlab-ce
    

    卸载

    1.停止gitlab

    # gitlab-ctl stop
    

    2.卸载gitlab(看是gitlab-ce版本还是gitlab-ee版本)

    # rpm -e gitlab-ce
    

    3.查看gitlab进程

    # ps aux | grep gitlab
    

    在这里插入图片描述

    4.杀掉第一个进程(就是带有好多…的进程)

    # kill -9 17313
    

    5.删除所有包含gitlab文件

    # find / -name *gitlab*|xargs rm -rf
    # find / -name gitlab | xargs rm -rf
    

    6.删除gitlab-ctl uninstall时自动在root下备份的配置文件

    # ls /root/gitlab*
    
    sudo gitlab-ctl uninstall # 删除服务
    sudo gitlab-ctl cleanse # 清楚生成数据
    sudo gitlab-ctl remove-accounts # 删除配置账户
    sudo dpkg -P gitlab-ce # 删除软件包
    

    通过以上几步就可以彻底卸载gitlab。

    如果root密码忘记,需要重置密码
    具体重置密码步骤

    $ sudo gitlab-rails console production
    $ User.all     #查看所有用户
    $ user=User.where(name: "root").first
    
    $ user.password=12345678      
    $ user.password_confirmation = '12345678'
    $ user.save!
    $ quit
    $ exit
    

    欢迎点赞、关注和评论哦!
    如果你也是技术宅,如果你也对技术渴望提升,那么我们是同一类人,欢迎大家关注我的个人公众号,我们一起进步吧!
    在这里插入图片描述
    如果对你有帮助,赞赏也是对我最大的支持。

    在这里插入图片描述

    展开全文
  • gitlab安装与配置

    千次阅读 2020-11-24 15:02:47
    一:Gitlab概述 GitLab概述: 是一个利用 Ruby on Rails 开发的开源应用程序,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。 Ruby on Rails 是一个可以使你开发、部署、维护 web 应用...

     

    一:Gitlab概述

    GitLab概述:
    是一个利用 Ruby on Rails 开发的开源应用程序,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。
    Ruby on Rails 是一个可以使你开发、部署、维护 web 应用程序变得简单的框架。
    GitLab拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。它还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有需要的时候进行查找。
    
    GitLab官网:https://about.gitlab.com/

     

    二:GitLab和GitHub的区别

    相同点: 二者都是基于web的Git仓库,在很大程度上GitLab是仿照GitHub来做的,它们都提供了分享开源项目的平台,为开发团队提供了存储、分享、发布和合作开发项目的中心化云存储的场所。
    不同点:
    1、GitHub如果要使用私有仓库,是需要付费的。GitLab可以在上面创建私人的免费仓库。
    2、GitLab让开发团队对他们的代码仓库拥有更多的控制,相比于GitHub,它有不少的特色:允许免费设置仓库权限;允许用户选择分享一个project的部分代码;允许用户设置project的获取权限,进一步的提升安全性;可以设置获取到团队整体的改进进度;通过innersourcing让不在权限范围内的人访问不到该资源。
    从代码私有性方面来看,有时公司并不希望员工获取到全部的代码,这个时候GitLab无疑是更好的选择。但对于开源项目而言,GitHub依然是代码托管的首选。
    
    git相关概念:
    git     是一种版本控制系统,是一个命令,是一种工具
    gitlib      是用于实现git功能的开发库
    github  是一个基于git实现的在线代码托管仓库,包含一个网站界面,向互联网开放
    gitlab  是一个基于git实现的在线代码仓库托管软件,一般用于在企业内网搭建git私服
    注:gitlab-ce 社区版 ;gitlab-ee是企业版,收费

     


    三:搭建GitLab平台

    3.1:环境介绍

    系统:CentOS7.5X64 
    
    下载gitlab 最新版
    
    https://packages.gitlab.com/gitlab/gitlab-ce/
    

    image_1ciiusoig8q2g9m1kn61mph5c03j.png-459.2kB

    3.2:安装环境初始化

    yum install curl policycoreutils openssh-server openssh-clients postfix  -y

    image_1ciiuvm2sk0df5113brnc172340.png-446.5kB

    默认,使用 Postfix 发送邮件
    
    service postfix start 
    chkconfig postfix on 

    image_1ciiv12o81itc4bs18qhlst1g334d.png-212kB


    iptables -F  #清空规则
    systemctl stop firewalld
    systemctl disable firewalld

    image_1ciiv445utnahfd1ukdieiq9a5a.png-165.4kB

    3.3 安装gitlab-ce

    wget --content-disposition https://packages.gitlab.com/gitlab/gitlab-ce/packages/el/7/gitlab-ce-11.0.3-ce.0.el7.x86_64.rpm/download.rpm
    
    rpm -ivh gitlab-ce-11.0.3-ce.0.el7.x86_64.rpm

    image_1cij045qh1ae19931jnc1pa3l145n.png-694.4kB

    image_1cij07uffj9tdop15vu1kibjjn64.png-290.7kB

    3.4 配置并启动GitLab

    gitlab-ctl reconfigure  #重新配置应用程序。相当于初始化一下

    image_1cij19am7pgmjvj1q3v1v7tq8p81.png-582.7kB

    gitlab-ctl status

    image_1cij1b4ecvr811j21ssn6eq1ulf8e.png-411kB

    netstat -nultp |grep :80

    image_1cij1g4bp5t6ct1rtavgn1eehab.png-340.4kB

    vim /etc/gitlab/gitlab.rb
    
    改:13 external_url 'http://gitlab.example.com'
    为:13 external_url 'http://172.17.100.11'
    

    image_1cij0v19h1ehkkab18rj2hl3du7k.png-232kB

    gitlab的管理
    
    关闭gitlab: # gitlab-ctl stop
    启动gitlab: # gitlab-ctl start
    重启gitlab: # gitlab-ctl restart

    image_1cij1pp1j1pbd1o03166mrcl1vghbo.png-242.3kB

    默认第一次启动需要设置密码的: 这里配置密码为admin123456
    默认配置的是root用户的密码 

     

    安装中出现的问题

    (1)、在浏览器中访问GitLab出现502错误

    原因:内存不足。

    解决办法:检查系统的虚拟内存是否随机启动了,如果系统无虚拟内存,则增加虚拟内存,再重新启动系统。

    (2)、80端口冲突

    原因:Nginx默认使用了80端口。

    解决办法:为了使Nginx与Apache能够共存,并且为了简化GitLab的URL地址,Nginx端口保持不变,修改Apache的端口为4040。这样就可以直接用使用ip访问Gitlab。而禅道则可以使用4040端口进行访问,像这样:xxx.xx.xxx.xx:4040/zentao。具体修改的地方在/etc/httpd/conf/httpd.conf这个文件中,找到Listen 80这一句并将之注释掉,在底下添加一句Listen 4040,保存后执行service httpd restart重启apache服务即可。

    1. #Listen 80

    2. Listen 4040

    (3)、8080端口冲突

    原因:由于unicorn默认使用的是8080端口。

    解决办法:打开/etc/gitlab/gitlab.rb,打开# unicorn['port'] = 8080 的注释,将8080修改为9090,保存后运行sudo gitlab-ctl reconfigure即可。

    (4)、STMP设置

    配置无效,暂时不知道原因。

    (5)、GitLab头像无法正常显示
    原因:gravatar被墙
    解决办法:
    编辑 /etc/gitlab/gitlab.rb,将

    #gitlab_rails['gravatar_plain_url'] = 'http://gravatar.duoshuo.com/avatar/%{hash}?s=%{size}&d=identicon'

    修改为:

    gitlab_rails['gravatar_plain_url'] = 'http://gravatar.duoshuo.com/avatar/%{hash}?s=%{size}&d=identicon'

    然后在命令行执行:

    1. sudo gitlab-ctl reconfigure

    2. sudo gitlab-rake cache:clear RAILS_ENV=production

     

    安装中文语言包(汉化)

    以下汉化步骤参考此篇文章,首先确认当前安装版本

    cat /opt/gitlab/embedded/service/gitlab-rails/VERSION

    当前安装版本是8.5.7,因此中文补丁需要打8.5版本

    克隆 GitLab 源码仓库:

    # 克隆 GitLab.com 仓库
    git clone https://gitlab.com/larryli/gitlab.git
    #或 Gitcafe.com 镜像,速度更快
    git clone https://gitcafe.com/larryli/gitlab.git

    运行汉化补丁:

    # 8.5 版本的汉化补丁(8-5-stable是英文稳定版,8-5-zh是中文版,两个 diff 结果便是汉化补丁)
    sudo git diff origin/8-5-stable..8-5-zh > /tmp/8.5.diff
    # 停止 gitlab
    sudo gitlab-ctl stop
    # 应用汉化补丁
    cd /opt/gitlab/embedded/service/gitlab-rails
    git apply /tmp/8.5.diff  
    # 启动gitlab
    sudo gitlab-ctl start

    至此,汉化完毕。打开地址http://git.home.com,便会看到中文版的GitLab。如下

    安装完成。

     

     

    image_1cij1sqfo17fg1vg93tvgvmv09co.png-296.5kB

    3.5 设置gitlab的群组

    image_1cij594ava2a17ld1jeo1t744879.png-299.2kB

    image_1cij5airksjer06bgfhatlnm.png-409kB

    image_1cij5b7cm1in018m6j7413lv1qt613.png-450.3kB

    image_1cij5bqikhms1ekiahqd201vot1g.png-520.7kB

    3.6 创建用户

    image_1cij5q4bj1amr16v6li313dd133v44.png-338.9kB

    image_1cij5rjl61fsj11jd1hc91gi66mq4h.png-323kB

    image_1cij5tqmila08rd7iaicb190f4u.png-477.8kB

    image_1cij637fv1lsrc6oi114cu1mdr5e.png-300.1kB

    3.7 为群组创建项目

    image_1cij5lfk415pl1ppk1efg2p9d662t.png-495.7kB

    image_1cij5lvdda701l8km231fumk5a3a.png-547.3kB

    image_1cij5mdul1lea16ih1bsu6m61lb43n.png-213.8kB

    3.8 从gitlab 上面 拉取项目 然后配置提交到master主线

    mkdir -p /root/project 
    cd project 
    
    git clone http://172.17.100.11/TL-flyfish/solo.git
    
    去公网下载一个博客的的项目
    
    mkdir -p /soft/
    
    cd /soft
    git clone https://github.com/b3log/solo.git
    
    cd /soft/solo/src/main/resouce/
    vim late.latke.properties
    
    ----
    serverhost = 172.17.100.11
    
    ----

    image_1cij8urq0bh81q9r1b3q1e4l10v76l.png-181.5kB

    
    cd solo/
    cp -ap * /root/project/solo/
    
    cd /root/project/solo/
    git add .
    
    git commit -m "all" 
    
    git push origin master
    

    image_1cij8msiv7701coucmlhmc120i5r.png-293.7kB

    image_1cij8no15p8g7gnktf7f76i868.png-480.9kB

     

    备份

    如果是生产环境,备份是必须的。需要备份的文件:配置文件和数据文件。

    备份配置文件

    配置文件含密码等敏感信息,不要和数据备份文件放在一起

    sh -c 'umask 0077; tar -cf $(date "+etc-gitlab-%s.tar") -C /etc/gitlab'

    备份数据文件

    默认数据备份目录是/var/opt/gitlab/backups,手动创建备份文件:

    # Omnibus 方式安装使用以下命令备份
    sudo gitlab-rake gitlab:backup:create

    日常备份,添加 crontab,运行crontab -e

    # 每天2点执行备份
    0 2 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create CRON=1

    如要修改备份周期和目录,在/etc/gitlab/gitlab.rb中修改以下两个选项

    # 设置备份周期为7天 - 604800秒
    gitlab_rails['backup_keep_time'] = 604800
    # 备份目录
    gitlab_rails['backup_path'] = '/mnt/backups'

    恢复

    恢复之前,确保备份文件所安装 GitLab 和当前要恢复的 GitLab 版本一致。首先,恢复配置文件:

    sudo mv /etc/gitlab /etc/gitlab.$(date +%s)
    # 将下面配置备份文件的时间戳改为你所备份的文件的时间戳
    sudo tar -xf etc-gitlab-1399948539.tar -C /

    恢复数据文件

    # 将数据备份文件拷贝至备份目录
    sudo cp 1393513186_gitlab_backup.tar /var/opt/gitlab/backups/
    
    # 停止连接数据库的进程
    sudo gitlab-ctl stop unicorn
    sudo gitlab-ctl stop sidekiq
    
    # 恢复1393513186这个备份文件,将覆盖GitLab数据库!
    sudo gitlab-rake gitlab:backup:restore BACKUP=1393513186
    
    # 启动 GitLab
    sudo gitlab-ctl start
    
    # 检查 GitLab
    sudo gitlab-rake gitlab:check SANITIZE=true

     

     

    一: gitlab CI/CD介绍

    1.1 gitlab CI/CD概述

    Gitlab是常用的开源git代码管理工具之一,随着发展也推出了ci/cd解决方案.
    顾名思义具体来说ci/cd主要完成以下两个工作.
        ci(持续构建)
        代码提交后触发自动化的单元测试,代码预编译,构建镜像,上传镜像等.
        cd(持续发布)
        持续发布则指将构建好的程序发布到各种环境,如预发布环境,正式环境.
    
    官网: https://docs.gitlab.com/ee/ci/README.html

    image_1cijbtfpc5ks1o36lgcvn31td39.png-216.3kB

    1.2 特性

    gitlab ci/cd是由独立的runner程序完成,runner采用go语言编写,因此可以很好的进行跨平台,通常可以将runner部署到任何gitlab server之外的服务器,从而避免对gitlab server的影响.
    
    官网:https://docs.gitlab.com/runner/
    

     

    二:配置gitlab的CI/CD 的runner

    2.1 安装gitlab-runner

    参考: 
    https://docs.gitlab.com/runner/install/linux-repository.html
    
    在 CentOS 7 上面的安装
    Add GitLab's official repository:
    
    # For RHEL/CentOS/Fedora
    
    curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.rpm.sh | sudo bash
    

    image_1cijccgn8g4t7ni12e3132dv7s13.png-713.6kB

    安装runner
    
    # For RHEL/CentOS/Fedora
    sudo yum install gitlab-runner

    image_1cijch4d1ovn1dg810nf59ku2u20.png-438.9kB

    image_1cijckt49uq417dpvb6dt5ruk3d.png-453.5kB


    2.2 项目注册到到runner

    参考官网:
    
    https://docs.gitlab.com/runner/register/index.html
    
    找到要发布项目的注册信息

    image_1cijcsl73102ho6v1f8v1lvn1k4n4a.png-185.5kB

    image_1cijctoio1o0t1gumbga1ehcmg04n.png-416.1kB

    image_1cijd0akv1anbrb1qev1iqb74h54.png-619.9kB

    image_1cijd11pt1489g011rik1e11pdv5h.png-464.8kB

    Setup a specific Runner manually
    安装一个与 GitLab CI 兼容的 Runner (如需了解更多的安装信息,请查看 GitLab Runner)
    在 Runner 设置时指定以下 URL: http://172.17.100.11/
    在安装过程中使用以下注册令牌: kA5JA5myz4aZR6MRgEBm
    启动 Runner!
    gitlab-runner register
    

    image_1cijd53e1qoq15v81kp613kb1ghv5u.png-371.6kB

    
    service gitlab-runner start 
    chkconfig gitlab-runner on
    
    在gitlab 上面找到runner 将项目添加到runner里面去
    

    image_1cijd803a119g1mdhmp08t4gca6b.png-418.6kB

    image_1cijd9oav1b1cguc686tpqp1r78.png-488.5kB

    1.png-229.2kB

    image_1cijdb1521lueqo21ghq1d6a81q7l.png-353kB

    这边如果有多个项目都可以添加到这个runner 里面去

    ##三:代码的MAVEN打包环境

    配置 maven
    
    tar -zxvf apache-maven-3.5.3-bin.tar.gz
    
    mv apache-maven-3.5.3 /usr/local/maven
    
    vim /etc/profile
    
    ---
    在Java环境变量下面加上 maven的环境变量
    
    ## maven 
    
    export MAVEN_HOME=/usr/local/maven
    PATH=$PATH:$HOME/bin:$MAVEN_HOME/bin
    
    ---

    image_1cijee19c1fbb4u5146312pp1llu9i.png-184.9kB

    source /etc/profile
    mvn -version

    image_1cijeercbbi68b51111latos69v.png-272.7kB

    mkdir -p /deploy/solo # 创建 打出solo.war 的目录
    
    cd /root/project/
    
    rm -rf solo 
    
    git clone http://172.17.100.11/TL-flyfish/solo.git
    
    尝试使用 命令行的方式编译项目:
    首次编译会下载包会很慢
    
    cd solo
    
    mvn clean package
    mvn install
    mvn install package -Dmaven.test.skip=true
    
    最后会打出solo.war包
    
    表示命令行打包完成
    
    maven 到默认下载的依赖包在/root/.m2/repository

    image_1cijjapm61vh0rpu1ke1gsv12gu9.png-621kB

    四:配置gitlab的CI 文件

    image_1cijjj563smdqoo1cv51us1eg6m.png-476.7kB

    image_1cijjkf6r1hjjcro9191je61nrj13.png-251.6kB

    4.1 配置CI 的 运行文件gitlab-ci.yml 打出war包测试

    stages:
       - build
       - run
       - deploy
    
    variables:
        MAVEN_CLI_OPTS: "-s .m2/settings.xml --batch-mode"
        MAVEN_OPTS: "-Dmaven.repo.local=.m2/repository"
    
    cache:
      paths:
        - .m2/repository/
    
    .solo-build-job: &solo-build-job
      script:
        - mvn clean package
        - mvn install
        - mvn install package -Dmaven.test.skip=true
        - ls -ld *
    
    solo-build:
       when: manual
       stage: build
       script:
          - mvn clean package
          - mvn install 
          - mvn install package -Dmaven.test.skip=true
          - cd $CI_PROJECT_DIR/target/
          - ls -ld *
    

    image_1ckca8eub10t6f781fv71tjg1vqo16.png-405.3kB

    执行构建

    image_1ckcaa4es1b62nh4unv1bbnur61j.png-506.4kB

    image_1ckcab7jk1mba1qsho4c17n1hli2g.png-256.8kB

    image_1ckcabqtd1a2p8gj13r161phh72t.png-278.2kB

    image_1ckcacihp1havid711ge1i5k1o573a.png-467.2kB

    最后打出solo.war的包

    image_1ckcakf6g1rmu189uvirmbm1lrm47.png-537.8kB


    五: 发布项目

    5.1: 部署一台tomcat 中间件的服务器

    tomcat 服务器 IP: 172.17.100.12 
    
    打通172.17.100.11 和172.17.100.12 的无密码登录认证。
    
    下载:tomcat
    wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.32/bin/apache-tomcat-8.5.32.tar.gz
    
     tar -zxvf apache-tomcat-8.5.32.tar.gz
    
     mv apache-tomcat-8.5.32 /usr/local/tomcat
    

    image_1ckcb2r6l19391nqfcrk0a85t53.png-565.7kB

    image_1ckcb4a6p1ha55qkumb14gi5vi5m.png-167.9kB

    启动tomcat:
    
    cd /usr/local/tomcat/bin
    
    ./startup.sh

    image_1ckcb5l721thuhicg371qcohrl63.png-649.8kB

    访问: 172.17.100.12:8080
    

    image_1ckcb8kpuas6plh14g71ha11tk77s.png-636.2kB

    5.2 在gitlab-ci.yml 增加发布步骤

    stages:
       - build
       - run
       - deploy
    
    variables:
        MAVEN_CLI_OPTS: "-s .m2/settings.xml --batch-mode"
        MAVEN_OPTS: "-Dmaven.repo.local=.m2/repository"
    
    cache:
      paths:
        - .m2/repository/
    
    .solo-build-job: &solo-build-job
      script:
        - mvn clean package
        - mvn install
        - mvn install package -Dmaven.test.skip=true
        - ls -ld *
    
    solo-build:
       when: manual
       stage: build
       script:
          - sudo rm -rf /deploy/solo/solo.war
          - mvn clean package
          - mvn install 
          - mvn install package -Dmaven.test.skip=true
          - cd $CI_PROJECT_DIR/target/
          - ls -ld *
          - cp -ap solo.war /deploy/solo/
    
    solo-run:
      when: manual
      stage: run
      script:
         - cd /deploy/solo
         - md5sum solo.war
    
    solo-deploy:
       when: manual
       stage: deploy
       script:
          - cd /deploy/solo/
          - scp solo.war root@172.17.100.12:/root  
          - cd /deploy/script
          - sh -x deploy-solo.sh 

    image_1ckccqufpc961kb61qqp1buo9ftbm.png-328.5kB
    1.png-370.7kB

    发布需要配置 一个发布脚本:
    
    在 172.17.100.11 上面写编写脚本:
    
    mkdir /deploy/script -p
    
    ---
    
    #!/bin/bash
    DATE=`date +%Y-%m-%d-%H-%M`
    
    ssh root@172.17.100.12 << eof
    
    cd /usr/local/tomcat/bin/
    
    sh -x shutdown.sh
    
    cd /usr/local/tomcat/webapps/
    
    mv solo.war  /data/backup/solo.war$DATE
    
    cp /root/solo.war /usr/local/tomcat/webapps/
    
    cd /usr/local/tomcat/bin/
    
    sh -x startup.sh 
    
    ps -ef |grep tomcat 
    
    eof
    ---
    

    在 tomcat 服务器上面新建一个solo.war 包的备份目录
    172.17.100.12
    
    mkdir -p /data/backup
    

    image_1ckcclbga1jbk1b81upl1dlg1p5rb9.png-119.5kB


    客户端从git服务器(172.17.100.11) 下载代码
    
    cd /soft
    rm -rf * 
    
    git clone git@172.17.100.11:TL-flyfish/solo-project.git
    
    cd solo-project
    cd src/main/resources/
    
    vim latke.properties
    
    ---
    修改 这个 serverHost 改为 172.17.100.12
    
    serverHost=172.17.100.12
    ---
    

    image_1ckcd617u1nf1bu518dg1r9h1gvmc3.png-652.2kB

    image_1ckcdan6318qnqtpkms1o1baq5e2.png-342.1kB

    提交项目: 
    
    cd /soft/solo-project
      git add *
      git commit -m "add solo"
      git push -u origin master
    

    image_1ckcdgshm44jpvt1oa41hi0cv7ei.png-502kB

    发布项目:
    

    2.png-318.7kB

    点击执行

    3.png-182.5kB

    开始build

    5.png-524.4kB

    6.png-375.5kB

    此处报一个 权限不够
    是因为默认构建的时候是gitlab-runner 这个用户 去执行这个命令的
    所以要为gitlab-runner 用户提权
    
    chmod +x /etc/sudoers
    
    vim /etc/sudoers 
    
    gitlab-runner   ALL=(ALL)       NOPASSWD:ALL
    
    并要 做gitlab-runner 用户与 172.17.100.12 的root的用户的无密钥登录

    7.png-422.5kB

    gitlab-cli.yaml 构建 脚本应该为sudo 
    
    stages:
       - build
       - run
       - deploy
    
    variables:
        MAVEN_CLI_OPTS: "-s .m2/settings.xml --batch-mode"
        MAVEN_OPTS: "-Dmaven.repo.local=.m2/repository"
    
    cache:
      paths:
        - .m2/repository/
    
    .solo-build-job: &solo-build-job
      script:
        - mvn clean package
        - mvn install
        - mvn install package -Dmaven.test.skip=true
        - ls -ld *
    
    solo-build:
       when: manual
       stage: build
       script:
          - sudo rm -rf /deploy/solo/solo.war
          - mvn clean package
          - mvn install 
          - mvn install package -Dmaven.test.skip=true
          - cd $CI_PROJECT_DIR/target/
          - ls -ld *
          - sudo cp -ap solo.war /deploy/solo/
    
    solo-run:
      when: manual
      stage: run
      script:
         - cd /deploy/solo
         - md5sum solo.war
    
    solo-deploy:
       when: manual
       stage: deploy
       script:
          - cd /deploy/solo/
          - sudo scp solo.war root@172.17.100.12:/root  
          - cd /deploy/script
          - sudo sh -x deploy-solo.sh
    

    从新执行build的构建

    8.png-305.3kB

    10.png-196.6kB

    11.png-482.4kB

    12.png-399.7kB

    执行 步骤 run:

    13.png-412.9kB

    14.png-258.5kB

    执行步骤:deploy

    15.png-278.4kB

    16.png-155.5kB

    image_1cke4tepcllffi3al31t9a9hk9.png-673.1kB

    访问测试:

    image_1cke4uar41gka1hhk1niaf617gmm.png-209.2kB

    ©著作权归作者所有:来自51CTO博客作者flyfish225的原创作品,谢绝转载,否则将追究法律责任

    展开全文
  • Gitlab 安装

    2017-06-15 11:05:55
    一, gitlab简介 现在,GitHub已经成为首选的代码托管平台。 因为它又很多很棒的功能,操作简单,几乎所有的开发者都喜欢它。Gitlab 是一个很棒的Git托管服务,几乎像GitHub一样强大...二,安装 以下为官方文档的

    一, gitlab简介

    现在,GitHub已经成为首选的代码托管平台。 因为它又很多很棒的功能,操作简单,几乎所有的开发者都喜欢它。Gitlab 是一个很棒的Git托管服务,几乎像GitHub一样强大。gitlab 一般作为内部私有系统使用,若公司使用 git 分布代码,每次从 github 上 pull 则非常慢,使用 gitlab 则方便很多。

    二,安装

    以下为官方文档的安装说明,详细的信息请访问gitlab官网 或者访问gitlab中文网

    1,安装依赖

    sudo yum install curl openssh-server openssh-clients postfix cronie

    sudo service postfix start

    sudo chkconfig postfix on

    sudo lokkit -s http -s ssh

    2,添加GitLab仓库,并安装到服务器上

    curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash

    sudo yum install gitlab-ce

    3,配置并启动,以下命令会自动配置并初始化 gitlab

    sudo gitlab-ctl reconfigure

    4,启动并登陆

    以下是默认用户名密码,首次登陆会提示你修改密码:

    Username: root

    Password: 5iveL!fe

    然后就可以愉快的折腾了! 

    三,安装中出现的问题

    听说 gitlab 安装中会出现的问题还是比较多的,不过在我安装的过程中好像没有遇到多少问题!

    1,在浏览器中访问GitLab出现502错误

    首先就是端口占用问题,gitlab 启动会使用 80 端口,所以建议你在启动 gitlab 前先将不需要的服务都关掉,或者修改默认端口:

    sudo vim /etc/gitlab/gitlab.rb

    修改external_url,直接增加端口号即可,比如我这里用8800端口:

    external_url 'http://localhost:8800'

    然后执行:

    sudo gitlab-ctl reconfigure

    2,8080端口冲突

    除了 80 这个端口外,还有一个unicorn用的端口,默认是8080,如果8080端口被其他程序占用。那么unicorn就会无法启动,显示为502错误,”GitLab is not responding”。

    解决办法:修改 /etc/gitlab/gitlab.rb

    unicorn['listen'] = '127.0.0.1'

    unicorn['port'] = 8801

    然后运行:

    sudo gitlab-ctl reconfigur

    四,gitlab 常用命令

    gitlab-ctl start

    gitlab-ctl stop

    gitlab-ctl status

    gitlab-ctl restart

    Gitlab 默认的日志文件存放在/var/log/gitlab 目录下:

    gitlab-ctl tail #查看所有日志

    gitlab-ctl tail nginx/gitlab_access.log #查看nginx访问日志

    展开全文
  • gitlab部署安装

    2020-04-30 11:04:57
    基于centos 7.0 gitlab部署,本人亲自测试,并用于研发生产中,请不会的小伙伴们,下载安装
  • GitLab安装及基本使用

    千次阅读 2019-05-16 16:25:33
    一、GitLab简介 1)、GitLab是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务。基础功能免费,高级功能...二、GitLab安装 1)、关闭防火墙 启动: systemctl start firew...

    一、GitLab简介

    1)、GitLab是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务。基础功能免费,高级功能收费

    2)、为什么要使用GitLab

    • 基础功能开源,可自行搭建
    • 可以进行权限控制,使得代码对部分人可见
    • GitLab使用方便,非常适合企业内部使用

    二、GitLab安装

    1)、关闭防火墙

    启动: systemctl start firewalld

    关闭: systemctl stop firewalld

    查看状态: systemctl status firewalld

    开机禁用 : systemctl disable firewalld

    开机启用 : systemctl enable firewalld

    2)、添加GitLab仓库,并安装

    [root@localhost ~]# curl -sS http://packages.gitlab.cc/install/gitlab-ce/script.rpm.sh | sudo bash
    [root@localhost ~]# yum install gitlab-ce -y
    

    3)、启动GitLab

    [root@localhost ~]# gitlab-ctl reconfigure
    

    4)、修改配置信息

    [root@localhost ~]# vi /etc/gitlab/gitlab.rb 
    

    修改如下两处配置:

    external_url 'http://192.168.126.160:8888/'
    nginx['listen_port'] = 8888
    

    5)、重新配置GitLab

    [root@localhost ~]# gitlab-ctl reconfigure
    

    6)、修改root用户的密码,并使用root用户登录

    三、GitLab常用命令

    1)、查看GitLab状态

    [root@localhost ~]# gitlab-ctl status
    

    2)、GitLab启动

    [root@localhost ~]# gitlab-ctl start
    

    3)、GitLab停止

    [root@localhost ~]# gitlab-ctl stop
    

    4)、GitLab重启

    [root@localhost ~]# gitlab-ctl restart
    

    5)、查看日志

    GitLab默认的日志文件放在/var/log/gitlab目录下

    查看所用日志:

    [root@localhost ~]# gitlab-ctl tail
    

    四、配置GitLab邮件服务

    1)、配置邮箱服务的用途

    • 有合并请求时,邮件通知
    • 账号注册时,邮件验证
    • 修改密码时,通过邮件修改

    2)、配置步骤

    1)开启QQ邮箱的smtp服务并获取授权码

    2)修改GitLab配置

    [root@localhost ~]# vi /etc/gitlab/gitlab.rb
    

    修改如下配置:

    gitlab_rails['smtp_enable'] = true
    gitlab_rails['smtp_address'] = "smtp.qq.com"
    gitlab_rails['smtp_port'] = 465
    gitlab_rails['smtp_user_name'] = "xxx@qq.com"
    gitlab_rails['smtp_password'] = "开启QQ邮箱的smtp服务时获取的授权码"
    gitlab_rails['smtp_domain'] = "qq.com"
    gitlab_rails['smtp_authentication'] = "login"
    gitlab_rails['smtp_enable_starttls_auto'] = true
    gitlab_rails['smtp_tls'] = true
    
    user['git_user_email'] = "xxx@qq.com"
    
    gitlab_rails['gitlab_email_from'] = 'xxx@qq.com'
    

    3)重新配置GitLab

    [root@localhost ~]# gitlab-ctl reconfigure
    

    4)测试邮件服务是否正常

    [root@localhost ~]# gitlab-rails console
    

    Notify.test_email(‘接收方邮件地址’,‘邮件标题’,‘邮件内容’).deliver_now

    五、GitLab的账号注册及分组

    1)、开启注册邮箱验证
    在这里插入图片描述
    2)、创建组
    在这里插入图片描述
    组的访问级别:

    • Private:只有组成员才能看到
    • Internal:只要登录的用户就能看到
    • Public:所有人都能看到

    3)、添加组员
    在这里插入图片描述
    组员角色:

    • Guest:可以创建issue、发表评论,不能读写版本库
    • Reporter:可以克隆代码,不能提交
    • Developer:可以克隆代码、开发、提交、push
    • Maintainer:可以创建项目、添加tag、保护分支、添加项目成员、编辑项目
    • Owner:可以设置项目访问权限 - Visibility Level、删除项目、迁移项目、管理组成员

    4)、在组中创建项目
    在这里插入图片描述

    六、GitLab分支及标签的保护

    1)、为什么要保护分支

    保护特定的分支不被随便合并,以免影响相应的分支

    2)、保护分支
    在这里插入图片描述
    能push就能merge,master分支设置只能Maintainer可以合并

    展开全文
  • 最新版GitLab安装教程

    2021-07-10 21:20:21
    1. 安装GitLab所需组件 yum install curl policycoreutils-python openssh-server openssh-clients postfix -y postfix 提供邮件发送服务 2. 启动postfix服务 systemctl enable postfix && ...
  • Gitlab安装部署

    2017-08-14 11:05:19
    Gitlab安装部署
  • gitlab安装及基本操作

    千次阅读 2020-07-01 10:18:15
    一、安装 安装前需要先安装一下git,可以看前面的文章。https://blog.csdn.net/qq_41475058/article/details/106923545 1、因为网络问题,所以国内用户建议使用清华大学的镜像源进行安装 vim /etc/yum.repos.d/...
  • ubuntu16.04中gitlab安装

    万次阅读 2018-08-28 19:54:02
    由于gitlab安装结束后会占用80和8080端口,所以如果你的操作系统中己有apache,tomcat那么这两个端口是处于占用状态的,会导致安装gitlab后访问localhost时出现502错误。因此,我们先释放这两个端口。 输入下面的命令...
  • 注意从 v7.10.4 开始,Gitlab 的人开始发布他们自己的 *.deb 存储库,这可能使这个脚本根本没用。 我查看了该脚本是否可以轻松调整 - 但发现这并不像我一开始想的那么容易。 由于此脚本基本上只是一个帮助轻松保持 ...
  • gitlab安装步骤

    2019-09-30 09:43:35
    gitlab安装步骤 安装注意事项 gitlab是linux上的应用,windows不支持,所以windows想要安装需要先安装linux虚拟机 安装步骤: 安装linux虚拟机 配置好linux网络,确保可以访问外网 下载gitlab安装包 上传到linux...
  • Gitlab 安装,使用已安装Nginx

    万次阅读 2018-06-15 19:51:54
    Gitlab 安装,使用已安装Nginx 本来以为安装会很顺利,网上相关文档的也很多,但是很多问题很难找到答案,还是记录一下。第一次安装建议在新服务器上安装,以免对其他服务器影响。当然如果使用docker镜像安装,会...
  • gitlab安装和配置.doc

    2021-02-03 16:32:37
    gitlab的简单安装
  • GitLab 安装

    千次阅读 2016-12-17 14:11:04
    GitLab,是一个使用 Ruby on Rails 开发的开源应用程序,...gitlab是基于Ruby on Rails的,安装和配置非常麻烦,不过有傻瓜安装包,https://about.gitlab.com/downloads/,或者,https://bitnami.com/stack/gitlab/inst
  • 一、安装 1.配置yum源 vim /etc/yum.repos.d/gitlab-ce.repo 复制以下内容: [gitlab-ce] name=Gitlab CE Repository baseurl=...3.安装GitLab社区版 yum install gitlab-ce
  • gitlab 安装部署与汉化

    2020-05-27 17:18:48
    1.什么是gitlabgitlab是一个开源分布式的版本控制系统,Ruby语言开发完成。 gitlab主要实现的功能,管理项目源代码,对源代码进行版本控制,以及代码的复用与查找。 2.gitlab与GitHub 的不同? github与gitlab...
  • 操作系统:CentOS Linux release 7.8.2003 (Core) gitlab版本:gitlab-ce-12.3.9-ce 下载镜像 清华大学开源软件镜像站 https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/ ... Gitlab安装及配置 安装
  • Jenkins加Gitlab安装GitLab安装Jenkins GitLab是由GitLabInc.开发,使用MIT许可证的基于网络的Git仓库管理工具,且具有wiki和issue跟踪功能。使用Git作为代码管理工具,并在此基础上搭建起来的web服务。GitLab由...
  • 一、安装JDK 这里我用的是yum在线安装 1)浏览线上所有的JDK版本:   yum -y list java* 执行后是这样的: 2)安装JDK 我这边安装的是JDK1.8,需要其他版本的话改一下命令就可以了 yum -y install java-1.8.0...
  • 2021最全最新GitLab安装

    2021-04-11 11:20:34
    (一)Docker的安装 1.1 安装docker [root@learncentos ~]# yum install docker 1.2 配置系统后台启动 [root@learncentos ~]# sudo systemctl start docker 1.3 查看docker版本 [root@learncentos ~]# docker -v # ...
  • gitlab安装后的配置

    2019-02-24 10:58:59
    均在/etc/gitlab/gitlab.rd 1.配置QQ邮箱发邮件通知 gitlab_rails[‘smtp_enable’] = true gitlab_rails[‘smtp_address’] = “smtp.exmail.qq.com” gitlab_rails[‘smtp_port’] = 465 gitlab_rails[‘smtp_user...
  • 20200702 自行搭建 git 服务器后,如何管理总是一个麻烦事,所以,还是要安装一个 gitlab 按照 gitlab 官网安装 ce 版,其实应该是很简单的事情,步骤也很少。 正常情况下,安装、配置、运行,再学习 gitlab 使用 ...
  • GitLab安装教程

    2021-09-26 10:29:18
    GitLab安装教程 1.GitLab介绍 **GitLab:**是一个基于是一个基于Git实现的在线代码仓库托管软件,你可以用gitlab自己搭建一个类似于Github一样的系统,一般用于在企业、学校等内部网络搭建git私服。 **功能:**Gitlab...
  • GitLab安装和使用

    千次阅读 2018-06-26 08:45:25
    一、使用中国镜像安装GitLab pre: 在centos7下安装GitLab之前,最好修改本地Centos的yum源为阿里的,参见第四、修改Centos的yum源部分。 直接vim /etc/yum.repos.d/gitlab-ce.repo,内容为: [gitlab-ce] name...
  • 1.GitLab安装后访问出现502 2.通过free查看内存,如图如果内存太少说明是造成502的原因。 可增加内存后继续访问可正常。
  • GitLab安装使用文档

    2021-05-20 15:38:42
    centos 7 下GitLab安装使用
  • Gitlab安装、汉化及使用

    千次阅读 2018-08-24 16:20:41
    环境:centos6.9 关闭防火墙和selinux [root@Gitlab ~]# setenforce 0 [root@Gitlab ~]# service iptables stop &...安装Gitlab 安装方式分两种: RPM安装、YUM安装 因为懒,我就直接rpm安装了 [root@Gitlab...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 38,902
精华内容 15,560
关键字:

gitlab安装