1. Centos7安装配置gitlab
  2.  
  3. 这篇文字我会介绍在Centos7上安装gitlab,配置gitlabsmtp,并且创建项目demo
  1. sudo yum install openssh-server
  2.  
  3. sudo yum install postfix
  4.  
  5. sudo yum install cronie
  6.  
  7. sudo service postfix start
  8.  
  9. sudo chkconfig postfix on
  10.  
  11. sudo lokkit -s http -s ssh
  1. 使用清华大学gitlab的镜像https://mirror.tuna.tsinghua.edu.cn/help/gitlab-ce/
  1. curl https://packages.gitlab.com/gpg.key 2> /dev/null | sudo apt-key add - &>/dev/null
  2. vi /etc/yum.repos.d/gitlab-ce.repo
  1. [gitlab-ce]
  2. name=gitlab-ce
  3. baseurl=http://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7
  4. repo_gpgcheck=0
  5. gpgcheck=0
  6. enabled=1
  7. gpgkey=https://packages.gitlab.com/gpg.key
  1. 然后
  1. sudo yum makecache
  2. sudo yum install gitlab-ce
  1. 然后打开/etc/gitlab/gitlab.rb,将external_url = 'http://git.example.com'修改为自己的IP地址或者自己的域名,然后编译,这里会用chef来进行,
  1. sudo gitlab-ctl reconfigure
    这样如果没有报错就是安装完成了
  2.  
  3. 直接在浏览器访问刚才修改的自己的ip或者域名,就能看到gitlab的页面了,登陆用下面的用户名和密码。
  1. Username: root
  2. Password: 5iveL!fe

登陆后会要求你更改密码的。

  1. 接下来进行配置
  1. 配置smtp
  1. $ sudo vi /etc/gitlab/gitlab.rb
  2. # Change the external_url to the address your users will type in their browser
  3. external_url 'http://xxhost.com'
  4.  
  5. #Sending application email via SMTP
  6. gitlab_rails['smtp_enable'] = true
  7. gitlab_rails['smtp_address'] = "smtp.163.com"
  8. gitlab_rails['smtp_port'] =
  9. gitlab_rails['smtp_user_name'] = "xxuser@163.com"
  10. gitlab_rails['smtp_password'] = "xxpassword"
  11. gitlab_rails['smtp_domain'] = "163.com"
  12. gitlab_rails['smtp_authentication'] = :login
  13. gitlab_rails['smtp_enable_starttls_auto'] = true
  14.  
  15. ##修改gitlab配置的发信人
  16. gitlab_rails['gitlab_email_from'] = "xxuser@163.com"
  17. user["git_user_email"] = "xxuser@163.com"

注意163,qq什么的记得加白名单,不然可能当成垃圾邮件了。。。

然后再编译下

sudo gitlab-ctl reconfigure

登陆去修改下自己的邮箱,在profile里面

创建一个新的group,命名为devops

在这个组里创建一个新的project,命名为openstack

成功后会在顶部提示你添加ssh密钥,点开后提示你怎么创建

  1. 在主机上
  2. # ssh-keygen -C user@XX.com

然后空格继续,最后会在~/.ssh/下看到公钥,复制到页面中那里就行。

然后注册一个新的用户wenbin,这里会要你输入邮箱验证,这里可以看到邮箱会收到之前设置smtp中邮件发送的邮件,激活就行。

然后去主机生成一个新的用户,生成ssh的key。

用root登陆dashboard,然后把wenbin用户添加到devops这个组中,权限为reporter

然后用wenbin登陆,可以看到了openstack的project,然后添加sshkey,这样就可以pull这个项目了。

安装git:    sudo yum install git,

然后就可以克隆代码了:

git clone git@gitlab.wenbin.com:devops/openstack.git

会提示你克隆了一个空目录

  1. [wenbin@gitlab ~]$ git clone git@gitlab.wenbin.com:devops/openstack.git
  2. Cloning into 'openstack'...
  3. warning: You appear to have cloned an empty repository.
  4.  
  5. [wenbin@gitlab ~]$ cd openstack/
  6. [wenbin@gitlab openstack]$ ll
  7. total 0
  8. [wenbin@gitlab openstack]$ git config user.name wenbin
  9. [wenbin@gitlab openstack]$ git config user.email lxxx@163.com
  10. [wenbin@gitlab openstack]$ vim test.txt
  11. [wenbin@gitlab openstack]$ ll
  12. total 4
  13. -rw-rw-r--. 1 wenbin wenbin 5 Mar 30 23:47 test.txt
  14. [wenbin@gitlab openstack]$ git add .
  15. [wenbin@gitlab openstack]$ git status
  16. # On branch master
  17. #
  18. # Initial commit
  19. #
  20. # Changes to be committed:
  21. # (use "git rm --cached <file>..." to unstage)
  22. #
  23. # new file: test.txt
  24. #
  25. [wenbin@gitlab openstack]$ git commit -m 'for test'
  26. [master (root-commit) 42eb67c] for test
  27. 1 file changed, 1 insertion(+)
  28. create mode 100644 test.txt
  29. [wenbin@gitlab openstack]$ git push
  30. warning: push.default is unset; its implicit value is changing in
  31. Git 2.0 from 'matching' to 'simple'. To squelch this message
  32. and maintain the current behavior after the default changes, use:
  33.  
  34. git config --global push.default matching
  35.  
  36. To squelch this message and adopt the new behavior now, use:
  37.  
  38. git config --global push.default simple
  39.  
  40. See 'git help config' and search for 'push.default' for further information.
  41. (the 'simple' mode was introduced in Git 1.7.11. Use the similar mode
  42. 'current' instead of 'simple' if you sometimes use older versions of Git)
  43.  
  44. GitLab: You are not allowed to push code to this project.
  45. fatal: Could not read from remote repository.
  46.  
  47. Please make sure you have the correct access rights
  48. and the repository exists.

可以看到提示push失败,因为wenbin只是reporter

当权限改为developer后,再次执行

  1. git push -u origin master
    就发现可以成功的push
  2.  
  3. 到此为止,centos7安装gitlab,配置smtp,建立用户和项目,clone代码和push已经ok,期待后面的gerritjenkins的整合吧。
  4. 参考资料:
  5. http://blog.csdn.net/williamwanglei/article/details/38498465
    https://about.gitlab.com/downloads/#centos7
    https://segmentfault.com/a/1190000002722631
  1.  
  1.  
  1.  

Centos7安装配置gitlab的更多相关文章

  1. centos7安装配置gitlab详细教程

    一. 安装并配置必要的依赖关系在CentOS系统上安装所需的依赖:ssh,防火墙,postfix(用于邮件通知) ,wget,以下这些命令也会打开系统防火墙中的HTTP和SSH端口访问. 1.安装ss ...

  2. CentOS7安装Puppet+GitLab+Bind

    添加Puppet官方源 rpm -Uvh https://yum.puppetlabs.com/puppetlabs-release-el-7.noarch.rpm 安装Puppet yum -y i ...

  3. docker安装配置gitlab详细过程

    docker安装配置gitlab详细过程   获取镜像 1.方法一 1 docker pull beginor/gitlab-ce:11.0.1-ce.0 2.方法二如果服务器网路不好或者pull不下 ...

  4. Centos7安装配置Apache+PHP+Mysql+phpmyadmin

    转载自: Centos7安装配置Apache+PHP+Mysql+phpmyadmin 一.安装Apache yum install httpd 安装成功后,Apache操作命令: systemctl ...

  5. Centos7安装配置JDK8

    Centos7安装配置JDK8 一.准备工作 第一步,去甲骨文官网下载Jdk相应的版本,我这里下载的是jdk1.8. 第二步将你从官网上下载下来的jdk使用FTP工具上传到云服务器上的相应目录,我的是 ...

  6. centos7命令行和图形界面的相互切换(附centos7安装配置教程)

    一.最近安装了centos7,发现在命令行和图形界面的相互切换命令上,与centos以往版本有很大不同,先整理如下,加深记忆. 1,centos7默认安装后,跟其他版本一样,启动默认进入图形界面: 2 ...

  7. (转)Centos7安装配置NFS服务和挂载

    Centos7安装配置NFS服务和挂载 原文:https://www.u22e.com/601.html NFS简介 NFS(Network File System)即网络文件系统,是FreeBSD支 ...

  8. CentOS7 安装配置笔记

    CentOS7 安装配置笔记 1.通过镜像安装 CentOS7 ==============================* 使用 UltraISO 9.7 或者 rufus-3.5p 制作ISO的 ...

  9. Centos7安装配置jenkins(Tomcat)

    Centos7安装配置jenkins(Tomcat) 一.准备工作 1.1 安装JDK1.8 具体安装过程不在赘述. 1.2 下载jenkins的war包 jenkins官网下载地址:https:// ...

随机推荐

  1. 使用autotools系列工具自动部署源代码编译安装

    在Linux系统下开发一个较大的项目,完全手动建立Makefile是一件费力而又容易出错的工作.autotools系列工具只需用户输入简单的目标文件.依赖文件.文件目录等就可以比较轻松地生成Makef ...

  2. ActiveMQ学习(四)——应用程序接口

    在 Java 里有 JMS的多个实现.其中 apache 下的 ActiveMQ就是不错的选择. 用 ActiveMQ最好还是了解下 JMS JMS 公共 点对点域 发布/订阅域 Connection ...

  3. ok6410 android driver(4)

    Install busybox for goldfish/phone 1. Download busybox source code http://www.busybox.net/ 2. Decomp ...

  4. Asp.NET MVC JSON序列化问题

    最近在做项目的时候遇到一个JSON序列化问题. 环境:ASP.NET MVC 4.0 数据库:SQL 2008 在将获取的数据从后台以json的形式传给前台的easyui treegrid绑定的时候通 ...

  5. [PHP] PHP请求Socket接口测试

    使用php读取socket接口的数据,通过php传递请求方法和请求参数,得到返回结果 PHP文件: <?php class Test{ const IP='127.0.0.1'; const p ...

  6. JS中检测数据类型的几种方式及优缺点

    1.typeof 用来检测数据类型的运算符 typeof value 返回值首先是一个字符串,其次里面包含了对应的数据类型,例如:"number"."string&quo ...

  7. js填写银行卡号,每隔4位数字加一个空格

    1.原生js写法 !function () { document.getElementById('bankCard').onkeyup = function (event) { var v = thi ...

  8. rails provide与content_for的区别

    页面渲染时:provide先执行,但找到一个provide之后就不再查找 content_for 顺序执行,在哪个位置,就等之前的渲染完后才执行.但是要等到所有的content被查找完后一块返回,也就 ...

  9. 关于ol有序裂变和ul无序列表前面的列表项标记的位置

    使用列表项标记的时候发现其对齐方式竟然从内容开始,于是发现了这个属性可以解决: list-style-position inside 列表项目标记放置在文本以内,且环绕文本根据标记对齐. outsid ...

  10. 高清HDMI编码器|上海视涛科技

    HDMI编码器(E300)简介 HDMI编码器(E300)是上海视涛科技出品的高性能HDMI+VGA编码产品.该HDMI+VGA编码器是上海视涛科技完全自主研发,并适用于VGA.DVI.HDMI等信号 ...