Dec 272017
 

今天练习了一下使用github。当然肯定是用命令下来玩。

创建repo

我需要创建一个gittest的repo,需要使用github的api接口才行。

curl -u 'shake.chen@gmail.com' \
https://api.github.com/user/repos -d '{"name":"gittest"}'
这个时候,就提示输入密码,成功创建后,会看到一堆的输出。

删除Repo

删除gittest的repo,也是需要用api才行
curl -X DELETE -u "shake.chen@gmail.com" \
https://api.github.com/repos/shake/gittest

保存密码

由于github默认采用https,通过https的缺点就是不能使用密钥,每次push都是需要输入用户名和密码。那么可以用下面的办法,只需要第一次输入后,就会保存起来。

git config --global credential.helper cache

cache生效时间15分钟

git config --global credential.helper 'cache --timeout=3600'
当希望永久生效
git config --global credential.helper store

git config

整理一下我的git config
git config --global credential.helper store
git config --list
git config --global user.name "shake"
git config --global user.email "shake.chen@gmail.com"
git config --list

初始化repo

下面就是我的步骤

cd /home
mkdir test
cd test
echo "# ks" >> README.md
git init
git add README.md
git commit -m "first commit"
git remote add origin https://github.com/shake/gittest.git
git push origin master

Aug 022013
 

打算在内部使用git管理代码,Gitlab应该是一个最佳选择,同事也基本比较熟悉github的操作。不过装的时候才发现Gitlab是用ruby写的,ruby的环境搭建,还是比较复杂的,很多新的概念,最要命的是ruby的源,国内很难访问,这也就导致出现各种问题。

Gitlab官方的生产环境安装文档

不过这是Debian系列的,我是需要在CentOS6.4下来安装。CentOS的安装文档,我现在已经放在github上,发现这样写安装文档比较方便,blog上就介绍一下自己的理解和使用过程。文档我至少已经操作超过3次,至少可以保证装完没任何错误,你就可以直接访问web。目前Gitlab邮件相关的设置,还没有,后续会补上。

我的安装文档:https://github.com/shake/gitlab-installer  5.0的版本和5.4版本有所不同,我分为两个文档。整个文档,你只需要鼠标,不需要键盘,就可以完成。(我设置了火狐的自动复制功能)

淘宝RubyGems

由于ruby的源是放在AWS的S3上,导致访问非常不稳定,淘宝专门搞的一个RubyGems,非常方便。ruby.taobao.org ,不过我使用的时候,上面的说明有点让我头晕。下面我说一下我是如何设置使用淘宝的RubyGems。

RVM

这个一共ruby管理工具,可以管理不同版本的ruby,同时还可以使用ruby源来安装软件。RVM工具的安装也比较特殊,必须连接到国外,github上,这个好像没啥办法。

curl -L get.rvm.io | bash -s stable

装完RVM后,你进行下面的操作

source /etc/profile.d/rvm.sh
sed -i 's!ftp.ruby-lang.org/pub/ruby!ruby.taobao.org/mirrors/ruby!' /usr/local/rvm/config/db

这个时候,你使用rvm进行安装软件,就会从淘宝进行下载安装,速度会快很多的。

Gem

Gem,我理解就类似CentOS下的yum,用来安装各种Ruby软件。这个是需要你装好Ruby,才会有的工具。装Ruby有多种方法,直接用源码安装,还有就是通过rvm来安装Ruby。

RVM的安装,应该是最简单,可以指定你使用哪个版本的Ruby。Gitlab对Ruby的版本有严格的要求,必须是1.93。

rvm pkg install libyaml
rvm install 1.9.3-p392 --with-libyaml-dir=/usr/local/rvm/usr
rvm --default use 1.9.3-p392

设置Gem使用淘宝源

gem sources --remove https://rubygems.org/
gem sources -a http://ruby.taobao.org/
gem sources -l

这个时候,你使用gem安装软件,就会直接访问淘宝的源。

Bundle

我的理解类似shell里的bash,你下载了ruby写的软件,运行该软件的安装文件命令。默认所有的Ruby软件都是使用官方源,这个是需要你把软件git到本地后,修改该软件的Gemfile,对于gitlab来说,就是 /home/git/gitlab/Gemfile

cd /home/git/gitlab
#let bundle use taobao source
sed -i '1s/https/http/g' /home/git/gitlab/Gemfile
sed -i '1s/rubygems/ruby.taobao/g' /home/git/gitlab/Gemfile

Gitlab介绍

目前最新的版本是Gitlab 5.4,马上8月份就要推出 Gitlab 6.0,Gitlab分为两种版本,商业版本和社区版本。商业版本主要是针对大型企业,社区版本的功能已经足够大家使用,基本达到和Github的水平。

Gitlab 5.0的版本和后续的版本,安装是有不少变化。所以都是需要调整。

装完后,默认的用户名 user: admin@local.host  pass:5iveL!fe