现在有很多的公开的代码服务器
比如最为出名的是github
Haskell 开发的Darcs
国内比较出名的是
然而,很多时候我们并不想把所有的东西都公开,于是想有一个私有的云平台,这样
我们就可以让很多内部的人员 (局域网) 使用了,gitlab 正是为一堆比较懒的人设计的基于 git 的平台搭建。
参考链接
开始安装
gitlab(更新版本的采用的是图形界面,之前的版本采用的是命令流,全面的图形化更方便些。现在是连启动都是图形界面了,比如gitlabci 也直接不需要用./ctlscript.sh start)
Login :xinran
passowrd:+++++++
配置gmail(省的自己配置)
使用的过程既可以是在网页中直接使用,也可以直接使用类似 github 的命令流操作,
但是前提是必须配置好服务器,类似于github 的配置过程
安装完毕,进行 ssh 配置的注意点
问题是 rakegemes.rb 里的一个 block 有问题,提醒 rake is not the part of the gem
我分享一下解决方法,我的登录用户假如是 fluid,那么我们现在使用
ssh-keygen -t rsa -C "你的登录邮箱gitlab账户"
然后你就可以复制在/home/fluid/.ssh/id_rsa.pub,粘帖到你的 gitlab 的网页管理中添加 ssh keys ,
以前我犯的错误是以为提取 gitlab 在安装的时候新建的 git 用户的 authority_keys,现在看来还真是跟 github 的配置有点像,这样之后还有一个小问题,
你得是在登录用户 fluid 才是可以 git push 等基本操作,而在 root 用户则是有权限限制,但是紧接着我在 root 用户下再次 ssh-keygen…
这样在/root/.ssh/id_rsa.pub 又有一个新的 key,你只要也把他添加到 gitlab 管理界面的 profile setting 里的 ssh keys 添加一下就可以了.
所以变成和 github 一样可以用 root 用户,其实罗嗦那么久还是 ssh-keygen 问题,还有记得对应用户的 key 问题
开始使用
我在网页上创建了一个项目
得到了如下信息:
Global Setting
git config --global user.name "Administrator"
git config --global user.
Create a new repository
git clone git@127.0.1.1:xinran/f708OpenFoam.git cd f708OpenFoam
touch README.md
git add README.md
git commit -m "add README"
git push -u origin master
Existing folder or Git repository
cd existing_folder
git init
git remote add origin git@127.0.1.1:xinran/f708OpenFoam.git git push -u origin master
然后我 cd /root/.ssh/
因为我之前已经设置好了 git 配置,不懂的人可以参考git 和 github 的配置
然后拷贝 id.pub 的内容
测试是否走通了
我们很想知道到底我们已经配置好了服务器?也很想知道局域网内的客户端是否可以访问服务器?
测试方法:
root at fluidman-OptiPlex-990 in /opt/gitlab-7.1.1-0[21:17:36下午]
$ ssh -T git@127.0.1.1
Welcome to GitLab, Anonymous!
局域网人员测试:
比如我的127.195.172.64别人只要在浏览器输入 127.195.172.64:80然后就可以了!!
reate Repository(创建仓库)
mkdir common-util
cd common-util
git init
touch README
git add README
git commit -m 'first commit'
git remote add origin git@127.0.0.1:devteam/common-util.git
git push -u origin master
对于已存在 Git 项目:
cd existing_git_repo
git remote add origin git@127.0.0.1:devteam/common-util.git
git push -u origin master
开发完之后,你进行
测试
检查
再测试等过程
还需要进行提交.
多用户问题
注意验证用户
会被弄到垃圾邮件当中,
并且验证链接需要注意的是一定得改一下 IP,
比如:
http://127.0.1.1/users/confirmation?confirmation_token=AEHLjx2WR21sb3zULW5h
我的内网 IP 是 (ubuntu :ifconfig windows: cmd–> ipconfig 进行查看)
121.195.172.217
那么就变为
http://121.195.172.217/users/confirmation?confirmation_token=AEHLjx2WR21sb3zULW5h
这步的一个完美解决方案是在装 gitlab 的时候 domain 不要填 127.0.1.1 而应该填你的固有 IP(动态获取的 IP 的话,最好保持不断网,基本上也能够维持 IP 不变)这样以后就不许要修改了
我的目录分门别类 (目的是一个项目一个文件夹)
/
├── dns-of-incompact3d
├── dns-of-semtex
├── fortran-learning-and-some-tools
├── lisper
├── nreal-fast
我的一次使用提交
root at fluidman-OptiPlex-990 in /latex-chines-english[10:05:08上午] on git:develop running make, make, make, and make
$ git push -u origin develop
Counting objects: 208, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (205/205), done.
Writing objects: 100% (208/208), 23.27 MiB | 7.67 MiB/s, done.
Total 208 (delta 40), reused 0 (delta 0)
To git@127.0.1.1:xinran/latex-chines-english.git
* [new branch] develop -> develop
分支 develop 设置为跟踪来自 origin 的远程分支 develop。
很多事情关键在于__坚持__,代码服务器现在有了,关键是几个人协力合作的问题,比如一起往 openfoam 的风电 (疯癫) 方向发展。
git
Engineer of offshore wind turbine technique research
My research interests include distributed energy, wind turbine power generation technique , Computational fluid dynamic and programmable matter.
Related