我有两个服务器,生产和开发。 在生产服务器上,有两个应用程序和多个(6)数据库(MySQL),我需要将这些数据库分发给开发人员进行测试。 所有源代码都存储在开发服务器上的GitLab中,开发人员仅与此服务器一起使用,无权访问生产服务器。 当我们发布应用程序时,master会登录生产并从Git中提取新版本。 数据库很大(每个数据库都超过500M,并且还在增加),我需要将它们尽可能容易地分发给开发人员进行测试。
在将每个数据库都转储到单个文件的备份脚本执行之后,执行一个脚本,将每个数据库推入其自己的分支。 如果开发人员想要更新其本地副本,则拉其中一个分支。
发现这一项无效。
生产服务器上的Cron每天保存二进制日志,并将它们推送到该数据库的分支中。 因此,在分支中,存在每日更改的文件,而开发人员会提取他没有的文件。 当前的SQL转储将以另一种方式发送给开发人员。 当存储库的大小太大时,我们会将完整的转储发送给开发人员,并刷新存储库中的所有数据,然后从头开始。
按照本教程[链接]在专用服务器上安装gitlab。 我需要 :
sudo -u git -H bundle install --deployment --without development test postgres aws
但是安装rugged时发生错误:
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.
/usr/local/bin/ruby extconf.rb
checking for cmake... no
ERROR: CMake is required to build Rugged.
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers. Check the mkmf.log file for more details. You may
need configuration options.
Provided configuration options:
--with-opt-dir
--without-opt-dir
--with-opt-include
--without-opt-include=${opt-dir}/include
--with-opt-lib
--without-opt-lib=${opt-dir}/lib
--with-make-prog
--without-make-prog
--srcdir=.
--curdir
--ruby=/usr/local/bin/ruby
Gem files will remain installed in /home/git/gitlab/vendor/bundle/ruby/2.0.0/gems/rugged-0.21.2 for inspection.
Results logged to /home/git/gitlab/vendor/bundle/ruby/2.0.0/gems/rugged-0.21.2/ext/rugged/gem_make.out
An error occurred while installing rugged (0.21.2), and Bundler cannot continue.
Make sure that `gem install rugged -v '0.21.2'` succeeds before bundling.
所以我安装了坚固->我安装了CMake和config-pkg:
/home/git/gitlab$ sudo gem install rugged
Building native extensions. This could take a while...
Successfully installed rugged-0.21.2
Parsing documentation for rugged-0.21.2
unable to convert "\xC0" from ASCII-8BIT to UTF-8 for lib/rugged/rugged.so, skipping
1 gem installed
但这并没有改变任何东西:
Errno::EACCES: Permission denied - /home/git/gitlab/vendor/bundle/ruby/2.0.0/gems/rugged-0.21.2/LICENSE
An error occurred while installing rugged (0.21.2), and Bundler cannot continue.
Make sure that `gem install rugged -v '0.21.2'` succeeds before bundling.
任何想法 ?
在我的GitLab存储库中,我有一个包含20个项目的小组。 我想一次克隆所有项目。 那可能吗?
我有一个仓库,其中有2个用户组:
我不希望我的HTML开发人员将ui-developers
分支的读/写访问权限授予HTML开发人员,因为他们不需要对此进行任何操作,也不应滥用核心代码。
尽管他们需要在自己的分支上工作ui-developers
。如何在git上执行此操作?
附注:我正在使用BitBucket
更新:
当我对编码和git非常陌生时,我曾发布过这个问题。 经过2年的经验,我现在知道git不允许限制任何特定分支的READ访问。 但是,Bitbucket,Gitlab和Github等服务允许您将写入和合并限制添加到分支。
另外,我六个月前转移到Gitlab :)
我创建了一个私有存储库,然后将其更改为公共存储库。 但是,我找不到任何释放方式。 是否可以在GitLab中创建发行版? 如果是这样,他们如何做?
刚刚在全新的高性能服务器上安装了全新的6.8 Gitlab。
在考虑忘记我的存储库历史记录(评论,问题等)之前,是否知道一种将存储库数据从Gitlab服务器导出到另一台Gitlab服务器的方法?
我只是在文档中找不到用于导出/迁移整个项目数据的任何内容(而不仅仅是git存储库及其Wiki)。
如何在gitlab中更改项目所有者?项目设置中包含选项,但是在“传输”字段中无法识别任何用户名或其他任何内容。 是否有可能更改所有者权限和根特权?
假设我想对其他人的项目实施修复。 该项目位于GitHub上。
我可以在GitHub上创建一个fork并实现此修复程序。
但是,我想在GitLab而不是GitHub上创建我的fork。
那可能吗? 怎么样?
我已经阅读了这篇文章:[https://about.gitlab.com/2016/12/01/how-to-keep-your-fork-up-to-date-with-its-origin/]
无论如何,我不确定该怎么办。
什么是正确的方法。
谢谢。
更新
GitLab上的存储库镜像可能没有意义。 我可以在GitLab上创建MY GitHub存储库的镜像,但不能创建其他人的存储库的镜像。
[HTTPS://docs.git lab.com/哦哦/workflow/repository_mirroring.HTML]
到目前为止,这是我所做的:
我已经将原始GitHub项目克隆到了本地机器上。 我已将修复程序提交到本地存储库中的新分支。 我在GitLab上创建了一个空项目。 我已经将本地存储库中的源设置为GitLab上的那个空项目,并将两个分支都推送到GitLab。 我已经在本地存储库中将上游设置为GitHub存储库。
当我想从原始GitHub存储库获取新的提交到GitLab上的存储库时(即同步存储库),可以使用本地存储库作为中间步骤来完成此操作。 但是,GitHub上的存储库和GitLab上的存储库之间没有直接连接。 我的设置正确吗? 如果我在GitHub上进行分叉,有什么区别吗?
我在他们的服务器上使用gitlab。 我想通过这样的API下载我最新的构建工件(通过gitlab-ci构建)
curl --header "PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK" "https://gitlab.com/api/v3/projects/1/builds/8/artifacts"
我在哪里可以找到这个专案ID? 还是这种使用API的方式不适用于托管gitlab项目?
休伯特
我在github上工作,并将其集成到我的项目之一的sourcetree(MAC版本)中。 我想将sourcetree用于GITLAB。 但是我无法将gitlab的远程添加到源代码树。 在存储库设置中,只有我可以看到主机类型为“未知”,“ bitbucket”,“ github”和“存储”。 我用未知,但不会帮助我。 当我谷歌搜索,但无法获得正确的答案。 帮助将不胜感激。
Sourcetree版本2.0.4(2.0.4)
是否可以将gitlab设置为自动同步(镜像)托管在另一个位置的存储库?
目前,我知道的最简单的方法是手动推送到两个(gitlab和另一个)存储库,但这很耗时且容易出错。
最大的问题是镜像可以重新同步,因为两个用户同时将更改推送到两个不同的存储库。 为了防止出现此问题,我想出的最好方法是确保用户只能推送到其中一个存储库。
我想发布一些公共可用存储库中的编程文档。 本文档包含格式化文本,一些UML图和许多代码示例。 我认为GitHub或GitLab是发布此内容的好地方。
要发布UML图,我想有一些简单的方法来将其更新到存储库中并在Wiki中以图像形式显示。 我不想将图表保存在我的计算机(或云中)中,对其进行编辑,生成图像,然后每次都将其发布。
有没有一种方法可以将图表放入存储库中(采用PlantUML语法是理想的),将它们链接到markdown文本中,并使图像在每次更新时自动更新?
我正在使用Gitlab,Jenkins和-可能-Nexus(我需要工件存储)来构建工作流程。 我想让GitLab存储发行版/二进制文件-是否可以方便地进行?
我不想有另一个可以从中下载发行版(和文档)的服务,但是希望以某种方式将其与存储库管理器集成在一起,就像在版本中处理发行版一样。 的GitHub 有什么线索吗?
我在GitLab中有一个私有存储库。 我必须将其访问权限授予团队成员。 如何使用GitLab网络界面做到这一点?
我知道如何在GitHub上执行此操作,但在GitLab中则有所不同。
我的gitlab安装的基本磁盘已满,是否可以将存储库及其数据移动到其他文件夹,并确保即将到来的推送数据发送到这些目录?
我尝试停止gitlab并复制整个文件夹,但无济于事。PS-我不是IT专家,我只是想了解一下如何解决这个问题; 因此请在回答时保持冗长。
在使用GitHub进行项目时,我爱上了Windows的GitHub作为客户端。 现在,有一个新项目在召唤我将使用GitLab而不是GitHub的地方。
我仍然可以将Windows的GitHub用作GitLab的客户端吗? 毕竟,它们都是基于git的,对吧? 如果没有,GitLab可以使用哪些客户端?
我尝试从GitLab(GitLab 6.6.2 4ef8369)克隆存储库并出错:
remote: Counting objects: 66352, done.
remote: Compressing objects: 100% (10417/10417), done.
error: RPC failed; curl 18 transfer closed with outstanding read data remaining
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed
如何避免这个错误?
git checkout 'another_branch'
要么
git checkout origin 'another_branch'
要么
git checkout origin/'another_branch'
我在虚拟机上运行gitlabhq rails服务器,按照本教程[https://github.com/gitlabhq/gitlab-recipes/blob/master/install/centos/README.md]的1-6步执行并启动rails服务器执行 命令repositories/
.之后我创建了用户,使用管理工具并在此用户下创建了新项目。 然后我一直试图将现有项目推送到这个仓库。 但是在最后一步中,git@mygitlabhost:user/repo.git
因错误而失败
[远程拒绝]主人 - > 主人(预先接收挂钩拒绝)
附加信息:
1)我没有通过电子邮件激活链接激活用户(项目所有者),因为我没有在服务器端配置后期服务,我在本手册中没有找到如何操作的说明。
2)Gitlab服务器生成如何将项目推送到repo的提示,并且路径中没有repositories/
。 我的意思是它生成git@mygitlabhost:user/repo.git
而不是git@mygitlabhost:repositories/user/repo.git
这是正确的。
3)当我试图调试它时,我在服务器上的repo中打开pre-receive
脚本并尝试输出变量(其中有3个):refs = ARGF.read
,key_id = ENV['GL_ID']
和repo_path = Dir.pwd
并发现,key_id始终为空。 也许问题就在这里......如果是这样,请给我一些如何解决这个问题的建议。 谢谢
任何人都可以让我知道Jenkins和其他CI之间有什么区别,比如Gitlab-CI,drone.io随GIT发行。 在一些研究中,我只能提出Gitlab社区版不允许添加Jenkins,但Gitlab企业版会这样做。 还有其他重大差异吗?