Linux(Ubuntu):搭建GitLab托管代码

GitLab 简介:html

GitLab 是利用 Ruby on Rails 一个开源的版本管理系统,实现一个自托管的 Git 项目仓库,可经过 Web 界面进行访问公开的或者私人项目。它拥有与 Github 相似的功能,可以浏览源代码,管理缺陷和注释。能够管理团队对仓库的访问,它很是易于浏览提交过的版本并提供一个文件历史库。团队成员能够利用内置的简单聊天程序 (Wall) 进行交流。它还提供一个代码片断收集功能能够轻松实现代码复用,便于往后有须要的时候进行查找。(企业经常使用)java

1. GitLab 安装

首先咱们经过https://hub.docker.com/进入到改网站进行查询操做,查看相应的中文版的GitLabmysql

首先在这个目录/usr/local/docker 下建立一个文件夹gitlab文件夹,而后建立一个docker-compose.yml文件,而后使用下面的命令进行编辑便可,  记得把tomcat  和mysql关掉nginx

咱们使用 Docker 来安装和运行 GitLab 中文版,因为新版本问题较多,这里咱们使用目前相对稳定的 9.4 版本,docker-compose.yml 配置以下:git

version: '3' services: gitlab: image: 'twang2218/gitlab-ce-zh:9.4' restart: always hostname: '192.168.75.145' 记得修改ip environment: TZ: 'Asia/Shanghai' GITLAB_OMNIBUS_CONFIG: | external_url 'http://192.168.75.145:8080' gitlab的默认端口是80,这里改为了8080怕和nginx冲突 记得修改ip gitlab_rails['gitlab_shell_ssh_port'] = 2222 shh的端口号是22会和gitlab冲突,因此改为2222 unicorn['port'] = 8888 nginx['listen_port'] = 8080 这里说明是gitlab是基于nginx的反向代理访问到的设置映射的端口8080 ports: - '8080:8080' - '8443:443' - '2222:22' volumes: - /usr/local/docker/gitlab/config:/etc/gitlab - /usr/local/docker/gitlab/data:/var/opt/gitlab - /usr/local/docker/gitlab/logs:/var/log/gitlab
安装完成后使用命令docker logs -f 33d51883e5df   显示gitlab的日志进行查看
由于gitlab比较消耗内存官方解释为1GB内存,实际工做中为8GB内存,咱们可使用命令进行查看内存及cup的消耗等操做,具体的以下所示:
free -h  表示查看当前内存占用率,咱们第一次启动的时候是很是慢的因此要等好长时间等git在自动的进行配置

安装完成后的工做

  • 访问地址:http://ip:8080
  • 端口 8080 是由于我在配置中设置的外部访问地址为 8080,默认是 80
  • 初始化安装完成后效果以下:

 

  • 设置管理员初始密码,这里的密码最好是 字母 + 数字 组合,而且 大于等于 8 位
  • 这个的gitlab的密码为12345678
  • 配置完成后登陆,管理员帐号是 root

 

注意: 若是服务器配置较低,启动运行可能须要较长时间,请耐心等待spring

 

 

2. GitLab 设置


第一次使用时须要作一些初始化设置,点击“管理区域(就是那个小扳手)”-->“设置(就是那个小齿轮)”sql

 

帐户与限制设置

关闭头像功能,因为 Gravatar 头像为网络头像,在网络状况不理想时可能致使访问时卡顿docker

 

注册限制

因为是内部代码托管服务器,能够直接关闭注册功能,由管理员统一建立用户便可shell

 

3. GitLab 帐户


使用时请不要直接经过 root 用户操做,须要先建立用户,而后经过建立的用户操做,若是你是管理员还须要为其余开发人员分配帐户tomcat

建立用户

点击“管理区域”-->“新建用户”

 

设置帐户信息

同时你能够将本身设置为管理员

 

修改用户密码

因为咱们建立时并无配置邮箱,因此还须要从新编辑用户信息并手动设置密码

 

 

 

退出并使用新帐户登陆

   

注意:建立完帐户,第一次登陆时还会提示你修改登陆密码

 

 

4. GitLab 使用:

建立第一个托管项目

点击 + 号 --> 新建项目(注意这里是新建群组选第二个)

 

输入项目名称及描述信息,设置可见等级为私有,这样别人就看不见你的项目

 

见到下面图片表示群组建立成功: 可是并无任何项目存在群组中

 

而后进行回到首页操做,而后点击左侧的菜单进入群组选项进入某个群组,而后点击新建项目进行项目的建立操做

 

初始化项目(建立项目成功后就会显现下面的图片)

 

 

 

咱们选择经过增长一个 README 的方式来初始化项目

点击这里的README进行初始化仓库

直接提交修改便可

 

使推送项目

使用 TortoiseGit 克隆项目(推送项目1)

  • 新建一个存放代码仓库的本地文件夹
  • 在文件夹空白处按右键
  • 选择“Git 克隆...”

 

  • 服务项目地址到 URL

 

  • 若是弹出链接信息请选择是

 

  • 成功克隆项目到本地

 

使用 TortoiseGit 推送项目(提交代码)

  • 建立或修改文件(这里的文件为全部文件,包括:代码、图片等)
  • 咱们以建立 .gitignore 过滤配置文件为例,该文件的主要做用为过滤不须要上传的文件,好比:IDE 生成的工程文件、编译后的 class 文件等
  • 在工程目录下,新建 .gitignore 文件,并填入以下配置:
.gradle *.sw? .#* *# *~ /build /code .classpath .project .settings .metadata .factorypath .recommenders bin build target .factorypath .springBeans interpolated*.xml dependency-reduced-pom.xml build.log _site/ .*.md.html manifest.yml MANIFEST.MF settings.xml activemq-data overridedb.* *.iml *.ipr *.iws .idea .DS_Store .factorypath dump.rdb transaction-logs **/overlays/ **/logs/ **/temp/ **/classes/
  • 右键呼出菜单,选择“提交 Master...”注意提交的时候还须要填写用户和邮箱

 

  • 点击“所有”并填入“日志信息”

 

  • 点击“提交并推送”

 

  • 成功后的效果图

 

查看 GitLab 确认提交成功

 

生成 SSH KEY(推送项目2)

通常状况在在作持续集成的时候咱们会用SSH的方式进行交互的处理,由于咱们要让服务器自动拉去gitHub或gitLab上面的代码执行打包处理(不须要使用帐户和密码)---这个步骤必须掌握

使用 ssh-keygen 工具生成,位置在 Git 安装目录下,个人是 C:\Program Files\Git\usr\bin 

在windwos系统的cmd中切换到C:\Program Files\Git\usr\bin这个目录下,而后输入命令:

ssh-keygen -t rsa -C suchuanqi2008@163.com

执行成功后的效果:

Microsoft Windows [版本 10.0.14393] (c) 2016 Microsoft Corporation。保留全部权利。 C:\Program Files\Git\usr\bin>ssh-keygen -t rsa -C "topsale@vip.qq.com" Generating public/private rsa key pair. Enter file in which to save the key (/c/Users/java/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /c/Users/java/.ssh/id_rsa. Your public key has been saved in /c/Users/java/.ssh/id_rsa.pub. The key fingerprint is: SHA256:cVesJKa5VnQNihQOTotXUAIyphsqjb7Z9lqOji2704E topsale@vip.qq.com The key's randomart image is: +---[RSA 2048]----+ | + ..=o=. .+. | | o o + B .+.o.o | |o . + +=o+.. | |.= . oo... | |= o So | |oE . o | | .. .. . | | o*o+ | | *B*oo | +----[SHA256]-----+ C:\Program Files\Git\usr\bin>

复制 SSH-KEY 信息到 GitLab

秘钥位置在:C:\Users\java\.ssh 目录下,找到 id_rsa.pub 并使用编辑器打开,如:

而后复制该秘钥

登陆 GitLab,点击“用户头像”-->“设置”-->“SSH 密钥”

 

成功增长密钥后的效果

 

 

 

 

这个时候咱们上传和下载就不须要再使用密码了,密码和用户暴露给服务器是很是危险的

注意:

若是在乌龟的网络上ssh客户端是上面的地址的话就会出现问题,那么咱们必须更改SSH客户端的地址把他变为下面的地址,以下图所示:

这样就能够完成合并和下载的操做了

相关文章
相关标签/搜索