• Jenkins+Ansible+Gitlab自动化部署三剑客(一)--gitlab


    gitlab介绍

      gitlab适合安装在自己的私有服务器上,避免核心代码暴露在网络上。

      集成度很高,能够集成绝大多数的开发工具

      支持内置HA,保证在高并发下仍旧实现高可用性

    gitlab主要服务构成

      Nginx静态Web服务器

      Gitlab-workhorse轻量级的反向代理服务器

      Gitlab-shell用于处理Git命令和修改authhorized keys列表

      Logrotate日志文件管理工具

      Postgresql数据库

      Redis缓存服务器

    gitlab工作流程

      创建并克隆项目

      创建项目某Feature分支

      编写代码并提交至分支

      推送该项目分支至远程Gitlab服务器

      进行代码检查并提交Master主分支合并申请

      项目领导审查代码并确认合并申请

    gitlab安装配置管理

    利用虚拟机创建测试服务器--Centos7

        准备工作

        1.关闭firewalld防火墙

          #systemctl stop firewalld

          #systemctl disable firewalld

        2.关闭SELINUX并重启系统

          # vi /etc/sysconfig/selinux

          ...

          SELINUX=disabled

          ...

          # reboot

        3.安装Omnibus Gitlab-ce package

          3.1安装Gitlab组件

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

          3.2配置YUM仓库

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

          3.3启动postfix邮件服务

          # systemctl start postfix && systemctl enable postfix

          3.4安装Gitlab-ce社区版本

          # yum -y install gitlab-ce

        4.Omnibus Gitlab等相关配置初始化并完成安装

          4.1证书创建与配置加载

          # mkdir -p /etc/gitlab/ssl

          #openssl genrsa -out "/etc/gitlab/ssl/gitlab.example.com.key"  2048

          #openssl req -new -key "/etc/gitlab/ssl/gitlab.example.com.key" -out "/etc/gitlab/ssl/gitlab.example.com.csr"

          # ll

          #openssl x509 -req -days 365 -in "/etc/gitlab/ssl/gitlab.example.com.csr" -signkey "/etc/gitlab/ssl/gitlab.example.com.key" -out "/etc/gitlab/ssl/gitlab.example.com.crt"

          # ll

          #openssl dhparam -out /etc/gitlab/ssl/dhparams.pem  2048

          # chmod 600 *

          #vi /etc/gitlab/gitlab.rb

          ...external_url 'https://gitlab.example.com'

          /redirect_http_to_https 参数改为true

          nginx['ssl_certificate'] = "/etc/gitlab/ssl/gitlab.example.com.crt"

          nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/gitlab.example.com.key"

          nginx['ssl_dhparam'] = /etc/gitlab/ssl/dhparams.pem

          # gitlab-ctl reconfigure

          4.2Nginx SSL代理服务配置

          # vi /var/opt/gitlab/nginx/conf/gitlab-http.conf

          /server_name

          添加 

          rewrite ^(.*)$ https://$host$1 permanent;

          4.3初始化Gitlab相关服务并完成安装

          # gitlab-ctl restart

    gitlab的应用

    安装完成,修改hosts文件,登录gitlab.example.com访问如下:

    1.首次登录修改root密码

     2.登录成功显示如下界面:

     3.新建项目

     4.克隆仓库到本地

    http.sslverify = false # 避免证书失效

     5.创建文件提交分支

    5.1  进入test-repo,创建一个test.py文件并保存

    5.2  $ git add .     将工作区中所有未跟踪或者修改的文件添加到暂存区,不处理删除文件

    5.3  git commit -m "First commit"   #  First commit为提交信息

    上图中因为没有创建全局用户及邮箱,提示   fatal: unable to auto-detect email address (got 'zhangw@DESKTOP-K1U9H6G.(none)')

    5.4  创建全局用户和邮箱,重新提交

    5.5  本地master分支同步到远程gitlab服务器

    6.返回gitlab服务器,查看

    end

  • 相关阅读:
    查看另外一台服务器的版本号
    制作数据集(二)
    制作数据集(一)
    中文分词工具包 PKUSeg
    Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend)
    修改主机名
    例题
    Oracle基本使用
    Linux里面的MySQL忘记密码RROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
    SpringBoot2.x以上配置schema.sql脚本
  • 原文地址:https://www.cnblogs.com/bk770466199/p/12259002.html
Copyright © 2020-2023  润新知