gitlab镜像仓库设置及自动同步代码到服务器实现方式

这篇具有很好参考价值的文章主要介绍了gitlab镜像仓库设置及自动同步代码到服务器实现方式。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

描述

最近新接了一个需求,有两个不同的gitlab仓库,隶属于不同的部门,我们需要将其他部门的gitlab代码仓库实时或定时同步到我们的gitlab代码仓库上.

思路

网上调研了下实现方案, 大概有两种

  • 方案一
    直接设置镜像仓库
  • 方案二
    通过gitlab webhooks + jenkins + rsync或者git命令同步

实现方式

1. 设置镜像镜像仓库

进入代码仓库之后点击仓库=>镜像仓库
=>展开=>Git仓库URL=>填入http://<用户名>@<仓库域名.git>格式=>在密码框输入对应用户的密码=>点击镜像仓库保存设置
gitlab镜像仓库设置及自动同步代码到服务器实现方式

需要注意的是,镜像仓库需要该用户又读写分支的权限,具体权限可以在分支保护选项下面设置, 另外gitlab的CE版只能做Push镜像,而EE则支持Push和Pull镜像两种,所以依据仔细需求选择

通过gitlab webhooks + jenkins + git命令同步

webhooks和Jenkins设置请参考 Gitlab利用Webhook实现Push代码后的jenkins自动构建
其中的shell脚本可自己替换城git命令方式实现

Git如何同步多个远程仓库

新增关联远端库

# git remote add <name> <git-url>
git remote add gitlab_origin git@gitlab.com:opendvd/dual_push.git

使用使用git remote -v来查看关联

gitlab_origin	git@gitlab.com:opendvd/dual_push.git (fetch)
gitlab_origin	git@gitlab.com:opendvd/dual_push.git (push)
origin	git@github.com:opendvd/dual_push.git (fetch)
origin	git@github.com:opendvd/dual_push.git (push)

push

git add dual_push.txt
git commit -m "First commit."
git push -u origin master # git push <repo> <branch>
git push -u gitlab_origin master # git push <repo> <branch>

合并push

上面的方法表明如果要push两个库,需要分别push两次,下面介绍的方法,可以一次性push到两个仓库。
方法:将另一个远程库的URL添加到现有的远程仓库的URL

git add dual_push.txt
git commit -m "First commit."
git remote add origin git@github.com:opendvd/dual_push.git
# 关联 git remote set-url -add <name> <url> 
git remote set-url --add origin git@gitlab.com:opendvd/dual_push.git

## push
git push -u origin master

更多详情请参考 Git如何同步多个远程仓库

其他

我在镜像仓库同步的时候还遇到了Url is blocked: Requests to the local network are not allowed的错

解决方案:

进入 admin=> area
gitlab镜像仓库设置及自动同步代码到服务器实现方式

进入 settings=>network
gitlab镜像仓库设置及自动同步代码到服务器实现方式

保存设置后,重新进入项目并设置 webhook 保存即可成功

参考

1.实用小帖:利用Gitlab备份代码仓库,以及镜像同步
2. Gitlab利用Webhook实现Push代码后的jenkins自动构建
3. Git如何同步多个远程仓库
4. gitlab - 解决添加webhook提示Url is blocked: Requests to the local network are not allowed的问题.文章来源地址https://www.toymoban.com/news/detail-435176.html

到了这里,关于gitlab镜像仓库设置及自动同步代码到服务器实现方式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 使用gitlab在服务器上搭建私服git仓库,并且上传项目

    使用gitlab在服务器上搭建私服git仓库,并且上传项目

    官网:The DevSecOps Platform | GitLab 安装相关依赖: 设置postfix开机自启,并启动,postfix支持gitlab发信功能 下载给gitlab包 安装rpm包: 修改gitlab的配置:/etc/gitlab/gitlab.rb 重启gitlab服务: 登陆页面:http://192.168.174.201:82,修改root用户密码 使用root用户登陆: 安装: 配置: 1.方式一:

    2024年02月03日
    浏览(7)
  • 在服务器上搭建Harbor私有镜像仓库并通过HTTPS访问

    目录 什么是Harbor 在服务器上搭建Harbor私有镜像仓库 使用HTTPS访问Harbor私有镜像仓库 生成证书文件 配置证书文件 验证https访问 上传镜像到Harbor私有镜像仓库 Harbor 是为企业用户设计的容器镜像仓库开源项目,包括了权限管理

    2023年04月11日
    浏览(35)
  • 同步服务器操作系统公网仓库到本地 _ 统信UOS _ 麒麟KYLINOS

    同步服务器操作系统公网仓库到本地 _ 统信UOS _ 麒麟KYLINOS

    原文链接:同步服务器操作系统公网仓库到本地 | 统信UOS | 麒麟KYLINOS 在如今快速发展的信息技术时代,维护和更新服务器操作系统变得越来越重要。无论是为了提高安全性、增加新功能还是提升系统稳定性,同步公网源仓库到本地都是一个关键步骤。特别是对于使用统信U

    2024年03月14日
    浏览(6)
  • gitee自动同步到宝塔服务器-自动部署

    gitee自动同步到宝塔服务器-自动部署

    准备工作:在宝塔应用商店中安装webhook, 在命令行中输入git --version看是否有安装git,如果没有,运行下面命令安装 一、创建公钥 cd ~/.ssh ls 看是否有 id_rsa.pub 文件 如果没有,用下面命令生成证书 ssh-keygen -t rsa  -C \\\"XXX@XXX.com\\\"(XXX@XXX.com为你自己的git账号) 然后一路回车 生成

    2024年02月08日
    浏览(5)
  • 【gitlab部署】centos8安装gitlab(搭建属于自己的代码服务器)

    【gitlab部署】centos8安装gitlab(搭建属于自己的代码服务器)

    在团队开发过程中,想要拥有高效的开发效率,选择一个好的 代码开发工具 是必不可少的。搭建git服务器有两种方式 ● github(国外的,很卡)或者gitee(国内的,网速还可以,可以设置项目为私有,防止其他人可见) ● 通过gitlab搭建自己的git服务器 要求 ● gitlab十分吃内存,建议

    2024年02月11日
    浏览(30)
  • 文件同步工具 - 本地搭建免费开源的Syncthing自动文件同步服务器【远程访问】

    文件同步工具 - 本地搭建免费开源的Syncthing自动文件同步服务器【远程访问】

    📱iOS学霸主页 在强者的眼中,没有最好,只有更好。我们是移动开发领域的优质创作者,同时也是阿里云专家博主。 ✨ 关注我们的主页,探索iOS开发的无限可能! 🔥我们与您分享最新的技术洞察和实战经验,助您在移动应用开发领域取得成功。 📌欢迎访问我们的微信公

    2024年02月13日
    浏览(8)
  • 如何将GitLab仓库同步到GitHub和Gitee?

    如何将GitLab仓库同步到GitHub和Gitee?

    前言 一、GetLab仓库同步到GitHub 1.1-创建GitHub仓库 1.2-获得GitHub的Token 1.3-在GitLab上配置同步 二、GitLab仓库同步到Gitee 2.1-创建Gitee仓库 2.2-获得Gitee的Token 2.3-在GitLab上配置同步 三、Gitee与GitHub双向同步 3.1-创建GitHub仓库 3.2-获得GitHub的Token 3.3-在Gitee上配置同步 作者:西瓜程序猿 主

    2024年01月21日
    浏览(3)
  • 局域网ntp服务器设置(windows时间同步服务器NetTime)(ubuntu systemd-timesyncd ntp客户端)123端口、ntp校时、ntp同步(设置UDP入站流量绕过防火墙)

    局域网ntp服务器设置(windows时间同步服务器NetTime)(ubuntu systemd-timesyncd ntp客户端)123端口、ntp校时、ntp同步(设置UDP入站流量绕过防火墙)

    客户有个局域网,局域网里面有的设备,时间都不一致,导致交互的时候可能出现问题; 现在刚好有台主机,有两个以太网接口,其中一个可以连外网,能获取到网络时间,我们可以把这台主机做成ntp服务器,供局域网内其他主机做时间同步; 以下是相关操作方法步骤; 打

    2024年01月24日
    浏览(9)
  • linux服务器开启时钟同步后三十秒后自动还原

    linux服务器开启时钟同步后三十秒后自动还原

    服务器开启时钟同步后,查看服务器时间正常,过三十秒左右,服务器时间自动还原(比本地时间快8小时) 1、检查服务器时区(正常) 2、关闭ntpd和chronyd程序(已关闭) 3、date -s \\\'2023-2-21 10:30:00 \\\'(手动修改服务器日期和时间) 4、hwclock -w(将系统时间写入硬件时间,避免重启

    2024年02月07日
    浏览(8)
  • 局域网ntp服务器设置(windows时间同步服务器NetTime)(ubuntu systemd-timesyncd ntp客户端)123端口、ntp校时、ntp同步

    局域网ntp服务器设置(windows时间同步服务器NetTime)(ubuntu systemd-timesyncd ntp客户端)123端口、ntp校时、ntp同步

    客户有个局域网,局域网里面有的设备,时间都不一致,导致交互的时候可能出现问题; 现在刚好有台主机,有两个以太网接口,其中一个可以连外网,能获取到网络时间,我们可以把这台主机做成ntp服务器,供局域网内其他主机做时间同步; 以下是相关操作方法步骤; 打

    2024年02月04日
    浏览(14)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包