繁体   English   中英

通过Ubuntu 12.04中的tomcat7共享Git存储库

[英]Git repository sharing through tomcat7 in ubuntu 12.04

我已经安装了tomcat7 git-core jenkins。

我正在尝试在git存储库中进行本地构建作业。 谁能帮助我与所有操作共享git存储库-git clone,pull,push,tag,revisions等,

我不知道我在哪里分享git。

即使共享目录,我也可以克隆,从分支中提取更改,但不能推送更改。

您可以列出与tomcat7共享git repo的过程吗?

您可能会仔细阅读以下教程,并且可以实现所需的目标: https : //www.tutorialspoint.com/jenkins/jenkins_setup_build_jobs.htm

很少的指导:确保所有工具都到位,并且您具有超级用户访问权限:使用以下命令:

$ sudo adduser git
$ su git
$ cd
$ mkdir .ssh && chmod 700 .ssh
$ touch .ssh/authorized_keys && chmod 600 .ssh/authorized_keys

接下来,您需要将一些开发人员SSH公共密钥添加到git用户的authorized_keys文件中。 假设您有一些受信任的公用密钥,并将其保存到临时文件中。 同样,公共密钥如下所示:

$ cat /tmp/id_rsa.john.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCB007n/ww+ouN4gSLKssMxXnBOvf9LGt4L
ojG6rs6hPB09j9R/T17/x4lhJA0F3FR1rP6kYBRsWj2aThGw6HXLm9/5zytK6Ztg3RPKK+4k
Yjh6541NYsnEAZuXz0jTTyAUfrtU3Z5E003C4oxOj6H0rfIF1kKI9MAQLMdpGW1GYEIgS9Ez
Sdfd8AcCIicTDWbqLAcU4UpkaX8KyGlLwsNuuGztobF8m72ALC/nLF6JLtPofwFBlgc+myiv
O7TCUSBdLQlgMVOFq1I2uPWQOkOWQAHukEOmfjy2jctxSDBQ220ymjaNsHT4kgtZg2AYYgPq
dAv8JggJICUvax2T9va5 gsg-keypair

您只需将它们附加到git用户的.ssh目录中的authorized_keys文件中:

$ cat /tmp/id_rsa.john.pub >> ~/.ssh/authorized_keys
$ cat /tmp/id_rsa.josie.pub >> ~/.ssh/authorized_keys
$ cat /tmp/id_rsa.jessica.pub >> ~/.ssh/authorized_keys

现在,您可以通过使用--bare选项运行git init来为它们设置一个空的存储库,该初始化将在没有工作目录的情况下初始化存储库:

$ cd /opt/git
$ mkdir project.git
$ cd project.git
$ git init --bare
Initialized empty Git repository in /opt/git/project.git/

然后,人们可以将其项目的第一个版本添加到该存储库中,方法是将其添加为远程版本并增加分支。 请注意,每次您要添加项目时,都必须有人在计算机上安装外壳并创建裸存储库。 让我们使用gitserver作为在其上设置git用户和存储库的服务器的主机名。 如果您在内部运行它,并且为gitserver设置DNS使其指向该服务器,则可以按原样使用命令(假定myproject是其中包含文件的现有项目):

$ cd myproject
$ git init
$ git add .
$ git commit -m 'initial commit'
$ git remote add origin git@gitserver:/opt/git/project.git
$ git push origin master

在这一点上,其他人可以将其克隆下来,然后将更改推回原来的操作一样简单:

$ git clone git@gitserver:/opt/git/project.git
$ cd project
$ vim README
$ git commit -am 'fix for the README file'
$ git push origin master

使用这种方法,您可以为少数开发人员快速启动并运行读写Git服务器。

您可以使用chsh为用户编辑外壳程序:

$ sudo chsh git  # and enter the path to git-shell, usually: /usr/bin/git-shell

git用户只能使用SSH连接来推送和拉取Git存储库,而不能将其打包到计算机上。 如果尝试,您会看到这样的登录拒绝:

$ ssh git@gitserver
fatal: Interactive git shell is not enabled.
hint: ~/git-shell-commands should exist and have read and execute access.
Connection to gitserver closed.

资料来源:git-scm

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM