Centos7安装配置gitlab
- Centos7安装配置gitlab
- 这篇文字我会介绍在Centos7上安装gitlab,配置gitlab的smtp,并且创建项目demo。
- sudo yum install openssh-server
- sudo yum install postfix
- sudo yum install cronie
- sudo service postfix start
- sudo chkconfig postfix on
- sudo lokkit -s http -s ssh
- 使用清华大学gitlab的镜像https://mirror.tuna.tsinghua.edu.cn/help/gitlab-ce/
- curl https://packages.gitlab.com/gpg.key 2> /dev/null | sudo apt-key add - &>/dev/null
- vi /etc/yum.repos.d/gitlab-ce.repo
- [gitlab-ce]
- name=gitlab-ce
- baseurl=http://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7
- repo_gpgcheck=0
- gpgcheck=0
- enabled=1
- gpgkey=https://packages.gitlab.com/gpg.key
- 然后
- sudo yum makecache
- sudo yum install gitlab-ce
- 然后打开
/etc/gitlab/gitlab.rb
,将external_url = 'http://git.example.com'
修改为自己的IP地址或者自己的域名,然后编译,这里会用chef来进行,
sudo gitlab-ctl reconfigure
这样如果没有报错就是安装完成了- 直接在浏览器访问刚才修改的自己的ip或者域名,就能看到gitlab的页面了,登陆用下面的用户名和密码。
- Username: root
- Password: 5iveL!fe
登陆后会要求你更改密码的。
- 接下来进行配置
- 配置smtp
- $ sudo vi /etc/gitlab/gitlab.rb
- # Change the external_url to the address your users will type in their browser
- external_url 'http://xxhost.com'
- #Sending application email via SMTP
- gitlab_rails['smtp_enable'] = true
- gitlab_rails['smtp_address'] = "smtp.163.com"
- gitlab_rails['smtp_port'] =
- gitlab_rails['smtp_user_name'] = "xxuser@163.com"
- gitlab_rails['smtp_password'] = "xxpassword"
- gitlab_rails['smtp_domain'] = "163.com"
- gitlab_rails['smtp_authentication'] = :login
- gitlab_rails['smtp_enable_starttls_auto'] = true
- ##修改gitlab配置的发信人
- gitlab_rails['gitlab_email_from'] = "xxuser@163.com"
- user["git_user_email"] = "xxuser@163.com"
注意163,qq什么的记得加白名单,不然可能当成垃圾邮件了。。。
然后再编译下
sudo gitlab-ctl reconfigure
登陆去修改下自己的邮箱,在profile里面
创建一个新的group,命名为devops
在这个组里创建一个新的project,命名为openstack
成功后会在顶部提示你添加ssh密钥,点开后提示你怎么创建
- 在主机上
- # 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
会提示你克隆了一个空目录
- [wenbin@gitlab ~]$ git clone git@gitlab.wenbin.com:devops/openstack.git
- Cloning into 'openstack'...
- warning: You appear to have cloned an empty repository.
- [wenbin@gitlab ~]$ cd openstack/
- [wenbin@gitlab openstack]$ ll
- total 0
- [wenbin@gitlab openstack]$ git config user.name wenbin
- [wenbin@gitlab openstack]$ git config user.email lxxx@163.com
- [wenbin@gitlab openstack]$ vim test.txt
- [wenbin@gitlab openstack]$ ll
- total 4
- -rw-rw-r--. 1 wenbin wenbin 5 Mar 30 23:47 test.txt
- [wenbin@gitlab openstack]$ git add .
- [wenbin@gitlab openstack]$ git status
- # On branch master
- #
- # Initial commit
- #
- # Changes to be committed:
- # (use "git rm --cached <file>..." to unstage)
- #
- # new file: test.txt
- #
- [wenbin@gitlab openstack]$ git commit -m 'for test'
- [master (root-commit) 42eb67c] for test
- 1 file changed, 1 insertion(+)
- create mode 100644 test.txt
- [wenbin@gitlab openstack]$ git push
- warning: push.default is unset; its implicit value is changing in
- Git 2.0 from 'matching' to 'simple'. To squelch this message
- and maintain the current behavior after the default changes, use:
- git config --global push.default matching
- To squelch this message and adopt the new behavior now, use:
- git config --global push.default simple
- See 'git help config' and search for 'push.default' for further information.
- (the 'simple' mode was introduced in Git 1.7.11. Use the similar mode
- 'current' instead of 'simple' if you sometimes use older versions of Git)
- GitLab: You are not allowed to push code to this project.
- fatal: Could not read from remote repository.
- Please make sure you have the correct access rights
- and the repository exists.
可以看到提示push失败,因为wenbin只是reporter
当权限改为developer后,再次执行
- git push -u origin master
就发现可以成功的push了- 到此为止,centos7安装gitlab,配置smtp,建立用户和项目,clone代码和push已经ok,期待后面的gerrit和jenkins的整合吧。
- 参考资料:
- http://blog.csdn.net/williamwanglei/article/details/38498465
https://about.gitlab.com/downloads/#centos7
https://segmentfault.com/a/1190000002722631
Centos7安装配置gitlab的更多相关文章
- centos7安装配置gitlab详细教程
一. 安装并配置必要的依赖关系在CentOS系统上安装所需的依赖:ssh,防火墙,postfix(用于邮件通知) ,wget,以下这些命令也会打开系统防火墙中的HTTP和SSH端口访问. 1.安装ss ...
- CentOS7安装Puppet+GitLab+Bind
添加Puppet官方源 rpm -Uvh https://yum.puppetlabs.com/puppetlabs-release-el-7.noarch.rpm 安装Puppet yum -y i ...
- docker安装配置gitlab详细过程
docker安装配置gitlab详细过程 获取镜像 1.方法一 1 docker pull beginor/gitlab-ce:11.0.1-ce.0 2.方法二如果服务器网路不好或者pull不下 ...
- Centos7安装配置Apache+PHP+Mysql+phpmyadmin
转载自: Centos7安装配置Apache+PHP+Mysql+phpmyadmin 一.安装Apache yum install httpd 安装成功后,Apache操作命令: systemctl ...
- Centos7安装配置JDK8
Centos7安装配置JDK8 一.准备工作 第一步,去甲骨文官网下载Jdk相应的版本,我这里下载的是jdk1.8. 第二步将你从官网上下载下来的jdk使用FTP工具上传到云服务器上的相应目录,我的是 ...
- centos7命令行和图形界面的相互切换(附centos7安装配置教程)
一.最近安装了centos7,发现在命令行和图形界面的相互切换命令上,与centos以往版本有很大不同,先整理如下,加深记忆. 1,centos7默认安装后,跟其他版本一样,启动默认进入图形界面: 2 ...
- (转)Centos7安装配置NFS服务和挂载
Centos7安装配置NFS服务和挂载 原文:https://www.u22e.com/601.html NFS简介 NFS(Network File System)即网络文件系统,是FreeBSD支 ...
- CentOS7 安装配置笔记
CentOS7 安装配置笔记 1.通过镜像安装 CentOS7 ==============================* 使用 UltraISO 9.7 或者 rufus-3.5p 制作ISO的 ...
- Centos7安装配置jenkins(Tomcat)
Centos7安装配置jenkins(Tomcat) 一.准备工作 1.1 安装JDK1.8 具体安装过程不在赘述. 1.2 下载jenkins的war包 jenkins官网下载地址:https:// ...
随机推荐
- 使用autotools系列工具自动部署源代码编译安装
在Linux系统下开发一个较大的项目,完全手动建立Makefile是一件费力而又容易出错的工作.autotools系列工具只需用户输入简单的目标文件.依赖文件.文件目录等就可以比较轻松地生成Makef ...
- ActiveMQ学习(四)——应用程序接口
在 Java 里有 JMS的多个实现.其中 apache 下的 ActiveMQ就是不错的选择. 用 ActiveMQ最好还是了解下 JMS JMS 公共 点对点域 发布/订阅域 Connection ...
- ok6410 android driver(4)
Install busybox for goldfish/phone 1. Download busybox source code http://www.busybox.net/ 2. Decomp ...
- Asp.NET MVC JSON序列化问题
最近在做项目的时候遇到一个JSON序列化问题. 环境:ASP.NET MVC 4.0 数据库:SQL 2008 在将获取的数据从后台以json的形式传给前台的easyui treegrid绑定的时候通 ...
- [PHP] PHP请求Socket接口测试
使用php读取socket接口的数据,通过php传递请求方法和请求参数,得到返回结果 PHP文件: <?php class Test{ const IP='127.0.0.1'; const p ...
- JS中检测数据类型的几种方式及优缺点
1.typeof 用来检测数据类型的运算符 typeof value 返回值首先是一个字符串,其次里面包含了对应的数据类型,例如:"number"."string&quo ...
- js填写银行卡号,每隔4位数字加一个空格
1.原生js写法 !function () { document.getElementById('bankCard').onkeyup = function (event) { var v = thi ...
- rails provide与content_for的区别
页面渲染时:provide先执行,但找到一个provide之后就不再查找 content_for 顺序执行,在哪个位置,就等之前的渲染完后才执行.但是要等到所有的content被查找完后一块返回,也就 ...
- 关于ol有序裂变和ul无序列表前面的列表项标记的位置
使用列表项标记的时候发现其对齐方式竟然从内容开始,于是发现了这个属性可以解决: list-style-position inside 列表项目标记放置在文本以内,且环绕文本根据标记对齐. outsid ...
- 高清HDMI编码器|上海视涛科技
HDMI编码器(E300)简介 HDMI编码器(E300)是上海视涛科技出品的高性能HDMI+VGA编码产品.该HDMI+VGA编码器是上海视涛科技完全自主研发,并适用于VGA.DVI.HDMI等信号 ...