我最近build立了自己的服务器,应该托pipe一些git仓库。 我在那里安装了功勋。 这几乎是完美的。 我现在正在努力的一件事情是如何让用户使用他们的用户名和密码,而不是公共ssh密钥进行身份validation? GitHub可以做到这一点。 对我来说非常重要,不要强迫用户生成SSH密钥。 我到处寻找答案,但不能勉强。 预先感谢您的帮助。
我的目的是pipe理可能分布在多个外包机构之间的项目,并且我们希望在可能的情况下通过查看“用户名:[email protected]”的提交元数据来避免彼此之间的相互了解,纯粹为了避免任何潜在的政治问题。 一种方法是强制他们提交一个符合模式的电子邮件地址,即“@ mycompany.com”,或者我们可以重写电子邮件地址以确认该模式? 或者,我们可以维护2个存储库,我或同事将负责定期在2之间迁移提交,剥离提交者元数据。 我们目前使用GitLab来pipe理我们的仓库,但我可以想象这样的function可以在预提交钩子中处理?
我开始在git仓库中使用git aws.push命令来处理我们目前正在处理的某个项目。 在回购的根目录中,我已经得到了.elasticbeanstalk目录下面的configuration细节: AwsCredentialFile=Removed for Security ApplicationName=Removed for Security DevToolsEndpoint=git.elasticbeanstalk.eu-west-1.amazonaws.com EnvironmentName=Removed for Security Region=eu-west-1 最初当我克隆我的回购,git aws.push命令不存在,所以我调用了解决这个问题的AWSDevTools-RepositorySetup.sh文件。 然后,当我运行git aws.config时,它会正确地从上面的configuration文件中获取应用程序名称,端点,环境名称和区域。 它也正确地从引用的AwsCredentialFile中获取AWS访问和密钥。 这是问题所在。 当我运行git aws.push时,出现一条消息:“更新AWS Elastic Beanstalk环境ENV-NAME …”。 此消息将出现近20分钟,有时甚至更多,只有在此之后才显示“环境更新已成功启动”。 我在这里也没有看到任何git推送日志,就像在推送到一个git仓库时通常会看到的进度日志,我的一些同事正在看到这个日志。 任何人都可以build议为什么这可能会发生,1,为什么需要这么长时间,2,为什么我没有看到git日志? 另外,就像一个供参考: AWS Elastic Beanstalk命令行界面v2.6.3 git版本1.8.5.2(Apple Git-48) 此外,当我运行eb stop时,它会警告我,我的分支没有与EB环境关联。 然而,当我运行eb分支或eb init时,它会提示我创build一个新的EB环境,而不是连接到我的configuration文件中指定的环境。
我必须在集成到AD的所有应用程序中使用userPrincipalName而不是默认的sAMAccountName,因为我们的login名> 20个字符,这是sAMAccountName不支持的。 所以我改变了 gitlab_rails['ldap_uid'] = 'sAMAccountName' 至 gitlab_rails['ldap_uid'] = 'userPrincipalName' 在我的/etc/gitlab/gitlab.rbconfiguration。 这是工作,但现在我需要inputlogin名和域。 示例:用户login名称为“Peter”。 使用sAMAccountName,我可以通过在Gitlab中input“Peter”作为用户名来login。 但是由于userPrincipalName包含域名,我现在必须input“[email protected]”。 我正在寻求让我的用户很舒服,只inputlogin名,没有@domain。 这样的事情,使用户input“彼得”和git发送“[email protected]”到AD: gitlab_rails['ldap_uid'] = '${gitlabUsername}@mydomain.com' 这可能吗?
我有CentOS 7 VPS服务器,我想要有我自己的网站。 我有例如在/var/www/shop 。 本网站使用Laravel框架,这是Apache的configuration <VirtualHost *:80> ServerName shop.itzena.cz DocumentRoot /var/www/shop/public <Directory /var/www/shop/public> AllowOverride All Order allow,deny Allow from all </Directory> Errorlog /var/log/httpd/shop-error.log CustomLog /var/log/httpd/shop-access.log combined </VirtualHost> 在我的家目录我有回购目录,我做回购 mkdir repo && cd repo mkdir eshop.git && cd eshop.git git init –bare 并为git创buildpost-receive钩子 #!/bin/sh git –work-tree=/var/www/shop –git-dir=/var/repo/eshop.git checkout -f 我想从我的本地主机自动部署到我的生活网站与Git。 我也有这个网站在Bitbucket(原产地)的git repsitory。 我该如何设置/var/www/shop的许可
我使用cygwin在Windows Server 2012 R2上build立了一个SSH服务器。 我可以使用Putty在我的Windows PC或使用Ubuntu成功连接到ssh服务器。 但是,当我尝试使用git bash连接到它时,它将在我有机会input密码之前closures连接。 这是我在git bash中运行的命令:ssh [email protected] -vvv 这是输出: OpenSSH_4.6p1, OpenSSL 0.9.8e 23 Feb 2007 debug2: ssh_connect: needpriv 0 debug1: Connecting to 192.168.1.66 [192.168.1.66] port 22. debug1: Connection established. debug1: identity file /c/Users/Mackan/.ssh/identity type -1 debug2: key_type_from_name: unknown key type '—–BEGIN' debug2: key_type_from_name: unknown key type 'Proc-Type:' debug2: key_type_from_name: unknown key […]
我安装了Git,并包含了Linux工具。 除了当我在控制台上运行五到十分钟之后SSH的超时之外,他们摇摆不定。 它只是冻结terminal,直到我点击几个button,然后显示: root@server:/home/username# Read from remote host example.com: Connection reset by peer Connection to example.com closed. 我在Console2中运行,以供参考,但我认为它只是使用该系统。 在另一台电脑上,它工作正常。 没有超时。 我不知道为什么。 我已经通过Linux工具search任何SSHconfiguration设置来设置超时或keepalive,我找不到任何应用程序configuration。 有谁知道如何防止这个?
我已经build立了一个POC Gerrit服务器,并能够通过Git命令行推送到它。 我试图设置它,让经验较less的同事可以使用Github for Windows客户端与Gerrit同步提交,但同步总是失败。 我注意到,当我使用GfW时,它会创build一个github ssh密钥,所以我试着改变configuration文件: Host gerrit IdentityFile ~/.ssh/id_rsa.user 我已经在GfWbuild立了遥控器: ssh://user@gerrit:29418/gerrit-test HEAD:refs/for/master 我能够将GfW客户端与我设置的单独的远程Git服务器同步,因此我不认为GfW或Gerrit本身就是问题所在,更多的是两者的结合。 任何想法发生了什么?
我正在实现一个自定义的gitlab钩子。 当有人推入主人,我想更新一个特定的文件。 然后提交此更改并将其推送到远程原点。 钩子如下所示: clone_repo(){ //cloning a specifc branch on my_app dir export GIT_WORK_TREE="path/my_app" } cd_app(){ cd my_app } update_file(){ // updating random.java } commit_file(){ git commit -m "commit from hook" random.java } while read oldrev newrev refname do if [ ${refname} = "refs/heads/master" ] then clone_repo cd_app && update_file commit_file && push_it exit 0 […]
我在Ubuntu 14.04上运行GitLab 7.9.2 c46d4f5(Omnibus) 当有人导航到一个提交gitlab返回时,我们有一半以上的提交 500我们很抱歉,但是出了点问题 另外,在不返回500的提交中,它们需要5到20秒的时间来显示页面。 我正在观察所有的日志,因为这是正在发生的事情,没有什么突出的问题正在发生。 当我去一个返回500错误的提交,nginx日志返回: 192.168.1.x – – [27/May/2015:09:35:44 -0500] "GET /project/module/commit/6876452e1df1d2846dhd1b2eb7d907e6ae8hf7d5 HTTP/1.1" 500 349 "https://gitlab.company.com/project/module/commits/staging" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/41.0.2272.76 Chrome/41.0.2272.76 Safari/537.36" 还有一些事情正在发生,我不确定是否正常是在nginx日志中每隔3到5秒我就会得到: 192.168.1.y – – [27/May/2015:09:40:06 -0500] "POST //api/v1/builds/register.json HTTP/1.1" 404 27 "-" "-" 192.168.1.y是一个gitlab ci亚军,我认为3-5秒的联系是某种forms的存活,但我绝对不知道。 任何帮助表示赞赏,没有其他日志显示任何错误,或任何奇怪的。 我已经检查过独angular兽,sidekiq,nginx和postgresql。 作为一个侧面说明,我仍然可以访问UI通过terminal提供的所有统计信息,但是我有很多喜欢使用UI的用户。 另外需要注意的是,这是一个在Hyper-v 2012上运行的虚拟机,并且已经从这些指令安装了linux工具。 话虽如此,我真的不认为这是与gitlab以外的任何问题。