如何在win7上安装gitlab服务器

如何在win7上安装gitlab服务器,第1张

GitLab是由Ruby语言开发的基于Linux的Git服务器,是我见过的最强大的Git服务器。发现它之后,立即决定将Git服务器换成GitLab。

但安装好GitLab之后面临一个问题,如何将服务器上的git项目直接导入到GitLab,之前的Git服务器是由是git+apache搭建的(详见在Linux上用Apache搭建Git服务器)。

在网上发现了这篇文档——Import bare repositories into your GitLab instance,并按之进行了 *** 作。

1)设置存放代码库的主目录

vi /etc/gitlab/gitlab.rb

比如这里设置为:git_data_dir "/gitlab/repos"

2)访问刚搭建的GitLab站点,创建一个group,比如cnblogs。

这时会在 /gitlab/repos 下创建 /gitlab/repos/repositories/cnblogs 文件夹。

然后在/gitlab/repos/repositories/创建一个文件夹,比如cnblogs

3)将现有的所有git项目文件复制到这个文件夹

cp -r /data/git/* /gitlab/repos/repositories/cnblogs

4)修改一下复制过来的文件夹的所有者:

chown -R git:git /gitlab/repos/repositories/cnblogs

5)运行GitLab导入命令

cd /var/opt/gitlab

gitlab-rake gitlab:import:repos

等了一段时间之后,显示done,却一个项目也没导入进来。

经研究发现,在导入时,GitLab只认文件夹名以.git结尾的项目。于是,将要导入的项目文件夹名称加上.git后缀,再次进行导入。

结果显示导入成功,比如:

Processing cnblogs/CNBlogsJob.git

* Created CNBlogsJob (cnblogs/CNBlogsJob.git)

Done!

可以是GitLab站点上却看不到已导入的项目。多次努力,也没能解决这个问题。

后来,实在没办法,改为手动导入,导入方法如下:

1)在GitLab站点上创建与要导入的项目同名的项目。

2)进入刚创建的项目文件夹

cd /gitlab/repos/repositories/cnblogs/项目名称.git

3)删除该文件下的所有文件

rm -rf *

4)将要导入的项目文件夹下的所有文件复制过来

cp -r /data/git/CNBlogsJob/* /gitlab/repos/repositories/cnblogs/CNBlogsJob.git

就这样将项目一个一个地导入进来。

5)导入完成后,修改一下导入的所有项目的文件所有者

chown -R git:git /gitlab/repos/repositories/cnblogs

如果不修改所有者,客户端无法进行git push。

就这样手动地完成了现有Git项目的导入。

备注: *** 作系统是CentOS 6.2,GitLab版本是7.8.4。

github帐号添加SSH keys

1

生成 ssh keys

1、任意目录下右击鼠标选择Git Bash Here或者win+r输入cmd回车打开终端

2、在改终端下输入命令:

ssh-keygen -t rsa -C "youname@example.com"

这时可以一路回车,不输入任何字符,将会在C:\Users\Administrator\.ssh下自动生成id_rsa和id_rsa.pub文件。

注意:双引号换成自己的邮箱,如果linux下遇到权限问题,只需在前面加上sudo

2

github添加SSH keys

将id_rsa.pub里面的内容复制下来,在github上的settings里面找到add keys,将其粘贴到key即可,title唯一即可随便填,建议写有意义的

具体过程如图:

3

测试

在控制台上测试一下,输入:

ssh -T git@github.com

只要看到最后一行Hi chenlianjiang! You've successfully authenticated, but GitHub does not provide shell access,说明验证成功了

END

gitlib帐号添加SSH keys

生成 ssh keys

这时候在生成ssh key时候要注意了这时一路回车,不输入任何字符在绑定gitlibng的ssh key时,会发现将github的ssh key覆盖了;不要着急,下面跟着我一起 *** 作。

打开终端,终端下输入命令:

ssh-keygen -t rsa -C "youname@example.com"

这时,给这个文件起一个名字, 比如叫C:\Users\Administrator\.ssh\ id_rsa_gitlib, 所以相应的也会生成一个 id_rsa_gitlib.pub 文件。

注意这里如果只输入文件名会在终端的当前目录下生成,拷贝到对应位置即可;

添加私钥

终端输入一下命令:

$ ssh-add ~/.ssh/id_rsa

$ ssh-add ~/.ssh/id_rsa_gitlib

ssh-add命令是把专用密钥添加到ssh-agent的高速缓存中。该命令位置在/usr/bin/ssh-add

如果出现Could not open a connection to your authentication agent.错误提示先执行$ ssh-agent.exe bash,然后执行上面命令;

-D:删除ssh-agent中的所有密钥.

-d:从ssh-agent中的删除密钥

-e pkcs11:删除PKCS#11共享库pkcs1提供的钥匙。

-s pkcs11:添加PKCS#11共享库pkcs1提供的钥匙。

-L:显示ssh-agent中的公钥

-l:显示ssh-agent中的密钥

-t life:对加载的密钥设置超时时间,超时ssh-agent将自动卸载密钥

-X:对ssh-agent进行解锁

-x:对ssh-agent进行加锁

添加配置文件

在~/.ssh/目录下新建config文件,并添加如图所示内容:

gitlib添加SSH keys

将id_rsa_gitlib.pub里面的内容复制下来,在gitlib上的账户里面找到所示SSH keys,将其粘贴到key内容即可,Title唯一即可随便填,,点击添加需要输入登录密码;

具体过程如图:

测试

在控制台上测试一下,输入:

ssh -T git@域名

只要看到最后一行Welcome to GitLab, chenlj!,说明验证成功了

在linux上玩过kvm的朋友基本都晓得,在宿主机上运行了虚拟主机以后,我们无法直接看到某一个虚拟主机IP地址。比如:

[root@21yunwei /]$virsh list --all

Id名称 状态

----------------------------------------------------

3 geoip running

4 tomcat running

5 jenkinsrunning

18gitlab running

19win7 running

如果我们想知道gitlab这个虚拟机的IP地址,那么是无法直接看到的。这里就需要一个小方法做排查,很简单的,就两步骤:

1,编辑虚拟主机配置文件。

[root@21yunwei /]$virsh edit gitlab

进去以后直接查找mac 可以定位到如下地址信息,记录下mac后退出:

<mac address='52:54:00:FA:61:75'/>

2,通过arp -a判定虚拟机器IP地址。

[root@21yunwei /]$arp -a | grep -i 52:54:00:FA:61:75

? (192.168.1.101) at 52:54:00:fa:61:75 [ether] on br1

注意这里一定要加上-i 忽略大小写。不然因为大小写问题有可能查不到。

说明:这里只根据通信缓存记录的mac 、IP地址手段做排查。也有可能找不到。最好的办法是自己写一个脚本跟网段内的所有服务器都ping一次,记录下mac、ip地址以后再查找就没问题。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11196268.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存