Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >将多个项目部件集成到一个GIT回购中

将多个项目部件集成到一个GIT回购中
EN

Stack Overflow用户
提问于 2011-02-28 14:35:13
回答 3查看 598关注 0票数 0

我有一些问题,下面是这样的场景:

我有一个大型的features/fixes.

  • Proj
  • 网站(Proj ),它有大量的本地dll和定制的dll,我们创建这些网站是为了增强网站上的功能。
  • 自定义dll是由单个VS项目(Proj,C& D)生成的,我们手动编译完成产品(dll),然后将成品(Dll)移动到Proj bin目录。
  • 我们目前有Proj存储库,用于产品开发、集成、公共以及每个开发人员通常都会克隆一个PROD的副本来工作。到目前为止,C&D还没有在版本控制下设置,因为我们还没有找到一种方法来轻松地将它的发布集成到Proj中。使用集成管理器工作流,我们让每个人都做他们的特性/修复,然后我们将它合并到一个集成存储库中。至此,我们准备执行以下操作:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
1. Recompile Proj B, C, & D
2. Robocopy release files from each project to the Proj A bin folder
3. Recompile/build Proj A and deploy to Integration server.

问题:

  1. ,您会在Proj的目录结构中包括Proj,C &D吗?如果是这样的话,在编译每个项目时,您会把每个项目的发布目录变成project目录吗?
  2. 如何/何时将包含Proj、C和D的"dlls“自动化到Proj Bin
  3. ,您推荐了一种简化这些文件集成的方法?

注意:我已经研究过Rep中的Rep以及子模块,但不确定我是否需要两者的混合。

如有任何建议,将不胜感激。谢谢,祝您愉快。伏曲祖鲁

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-03-01 07:14:59

对于依赖于其他项目的ASP.NET网络应用程序,我们也有类似的情况。

我们的解决方案是将Web应用程序和每个依赖项作为单独的VS解决方案在单独的存储库中创建,然后将B、C、D的存储库定义为A的存储库中的子模块。

A的VS解决方案包括子模块提供的项目B、C和D的副本,这些项目是A项目中的项目参考。

这解决了1和2,因为您可以正常地构建项目A,而B、C和D将自动从源构建,并将DLL复制到A的构建目录中。

票数 0
EN

Stack Overflow用户

发布于 2011-03-01 03:46:28

  1. 如果您创建了一个解决方案,您可以将您的网站/webproject和其他项目添加到此解决方案中。如果您随后从网站/webproject中添加对dll应该被复制的那些“自定义dll”的引用(默认情况下,这个iirc有一个选项)。如果它们是特定于Proj的话,
  2. I会自动执行它们,如果它们是所有项目使用的内部API、实用工具等,我不会将它们包括在Proj解决方案中。
  3. 不确定我是否推荐这样做,但是如果您在某个地方自动构建了自定义dll(使用CruiseBuild或类似的),然后提交给您,您可以添加一个外部的“更新”。但是,如果新的更改经常破坏Proj,这也同样是一个问题。

这绝不是一个完整的提议,但也许是对你问题的部分回答。

票数 0
EN

Stack Overflow用户

发布于 2011-03-11 09:54:05

不知道这是否对任何人有帮助,只是想跟进我自己的问题:

问题:

你能在Proj A的目录结构中包括Proj B,C,&D吗?如果是这样的话,在编译每个项目时,您会将每个项目的发布目录设置为Proj目录吗?

我们决定将proj (Sitecore )作为一个单独的存储库保存在一个rCS文件夹中。此文件夹包含存储库和DLLs文件夹: dlls dev1_PUBLIC dev2_PUBLIC dev3_PUBLIC INTEGRATION_STAGING PRODUCTION_STAGING。

启动一个特性/修复所有开发人员都要安装一个普通的

  1. ,然后从本地特性分支的
    1. 中进行本地主站的升级,并根据票证/项目命名它。运行本地"xxxx_PUBLIC".
    2. Contact以解压更新的dll。INTEGRATION_STAGING.
    3. IM
    4. 确实工作,经常提交,测试和验证
    5. 将本地主
    6. PUSH推送到updateDll.bat集成管理器,这样他/她就可以从公共推送到INTEGRATION_STAGING.
    7. IM拉到集成(QA),运行本地updateDll.bat,并通知开发人员继续进行测试集成,如果测试得到验证,则通知开发人员进行测试集成,如果测试得到验证,IM将调度拉到生产并运行本地updateDll、bat。如果生产良好,IM将把零钱拉回PRODUCTION_STAGING,以便一个新的副本已经准备好。

我们决定让proj、C和D (C#组件)在dotNetProjects文件夹中每个项目都有自己的存储库。每个项目文件夹包含许多存储库: dev1_PUBLIC dev2_PUBLIC dev3_PUBLIC INTEGRATION_STAGING PRODUCTION_STAGING。

启动一个特性/修复所有开发人员将一个ticket/project.

  • Verify副本克隆到本地pc上。

  • 检查一个本地特性分支,根据项目点命名为dotNetProjects项目中的"releasedlls“文件夹。做好工作,经常提交,测试,验证和构建项目。验证dll日期时间戳。"xxxx_PUBLIC".

  • Contact

  • PUSH

  • PUSH

  • PUSH to

Integration manager,以便他/她可以从公共到INTEGRATION_STAGING.

  • IM拉到集成(QA),运行本地updateDll.bat,通知开发人员继续进行测试集成,如果测试经过验证,将测试集成到Sitecore或其他项目

  • ,IM将调度拉到生产和运行本地updateDll,bat。如果生产良好,IM将把零钱拉回PRODUCTION_STAGING,以便一个新的副本已经准备好。

您将如何/何时将包含Proj、C &D的"dlls“自动化到Proj bin目录中?每个项目的输出文件夹设置为dotNetProjects/releasedlls文件夹,它不是一个存储库,而是一个用于存放与SItecore相关的dll的文件夹。添加特性/修复的开发人员必须在本地运行updateDll.bat才能获得dll的最新版本。下面是简单的脚本:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
xcopy /E /Y "\\servername\dotNetProjects\ReleaseDlls\*.dll" C:\development\sitecore\WebSite\bin

注意:

上面的redundancy.

  • With
  • 步骤4-8是相同的,编辑器让我头疼,所以我刚刚离开了所有涉及到的all,关于,我们仍然想给dlls发信息,因为这可能会让我们的业务用户头疼。因此,要将dll作为一个被忽略的文件来维护,我们的解决方法就是上面的快速修复。这不是我们所希望的,但如果它对你有用,那就使用它,如果不是,就忽略它。--
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5148384

复制
相关文章
95 - 在Flask中如何使用动态路由
1. 静态路由和动态路由有什么区别? 路由 Utl Path http://loaclhost/abc/test.html 静态路由 Path与路由函数一一对应 动态路由 多个Path与同一个路由函数对应 http://loaclhost/abc/test.html http://loaclhost/xyz/test.html 不管访问哪一个Url,都会执行同一个服务端的路由函数 2. 如何使用Flask实现动态路由 ''' pip install flack ''' from flask import
ruochen
2021/06/27
5.5K0
95 - 在Flask中如何使用动态路由
ISP图像处理之动态范围压缩
自然界中真实场景能够表现比较广泛的颜色亮度区间,比如从很暗(10^-5 cd/m2)的黑夜到明亮(10^5 cd/m2)的太阳光,有将近10个数量级的动态方位。而传统显示设备所能显示的场景、视频和图像通常受限于硬件设备,通常只能表达出很小一部分的亮度范围,比如如常见的8比特图像显示0到255的整数范围,因此为了能够显示高动态范围的影响,需要实现从高动态范围图像(HDR)到低动态范围图像(LDR)的映射,并且不同显示设备的出现,需要实现HDR和LDR之间的相互转换 ,即动态范围压缩(DRC,Dynamic Range Compression)。
AomanHao
2022/01/14
2.4K0
ISP图像处理之动态范围压缩
算法笔记(0001) - 【动态规划】图像压缩问题
在计算机中,常用像素点的灰度值序列{p1,p1,……pn}表示图像。其中整数pi,1<=i<=n,表示像素点i的灰度值。通常灰度值的范围是0-255。因此需要8位二进制数来表示一个像素。这个时候大家应该有了一些小的疑问:我能不能用更少的位数来表示灰度值?(因为有的灰度值并没有达到255这么大)所以我们引入了图像压缩算法来解决这个问题。 不过在引入问题之前,我要在这里介绍一些算法设计的知识——我们要将灰度值序列分组,而每一组中所有的数就有可能是<255的,所以我们就不需要用8位数字去表示像素大小了,但是分组会带来一个新的问题:我如何表示当前组中像素的个数和像素的位数呢(因为不是八位,所以要有一个数据来记录真正的位数)?这里我们引入两个固定位数的值来表示,①我们用3位数字来表示当前组的每一位像素的的位数②我们引入8来表示当前组中像素点的个数  因为我们在这里规定了一组中最多存储–>0~255个数字,而一个灰度值最多有8位(2^3),所以我们可以用即3位数字来表示当前组的像素位数(注意这里都是二进制) 压缩的原理就是把序列{p1,p1,……pn}进行设断点,将其分割成一段一段的。分段的过程就是要找出断点,让一段里面的像素的最大灰度值比较小,那么这一段像素(本来需要8位)就可以用较少的位(比如7位)来表示,从而减少存储空间。 b代表bits,l代表length,分段是,b[i]表示每段一个像素点需要的最少存储空间(少于8位才有意义),l[i]表示每段里面有多少个像素点,s[i]表示从0到i压缩为一共占多少存储空间。 如果限制l[i]<=255,则需要8位来表示l[i]。而b[i]<=8,需要3位表示b[i]。所以每段所需的存储空间为l[i]*b[i]+11位。假设将原图像分成m段,那么需要
量子态的沐子呓
2019/12/25
1.8K0
算法笔记(0001) - 【动态规划】图像压缩问题
深度学习在图像和视频压缩中的应用
本文来自AOMedia 2019 Research Symposium的演讲,演讲者是来自纽约大学Tandon工学院的Yao Wang教授。
用户1324186
2019/12/27
1.4K0
flask assets压缩静态文件(flask 111)
首先,创建一个Environments实例,并使用它初始化Flask应用,然后将Bundle对象注册到Assets上。
用户5760343
2019/08/21
1.2K0
在 Python 中对服装图像进行分类
图像分类是一种机器学习任务,涉及识别图像中的对象或场景。这是一项具有挑战性的任务,但它在面部识别、物体检测和医学图像分析等现实世界中有许多应用。
很酷的站长
2023/08/11
5821
在 Python 中对服装图像进行分类
Python 图像文件压缩,使用PIL库对图像进行等比例压缩。
图像文件压缩。使用PIL库对图像进行等比例压缩,无论压缩前文件大小如何,压缩后文件大小小于10KB。
繁依Fanyi
2023/05/07
5750
Python 图像文件压缩,使用PIL库对图像进行等比例压缩。
Flask-在Flask中跨请求传递数据资源
利用 Flask的底层Werkzeug是有缓存支持的,不用使用redis等第三方。
用户1558882
2018/10/25
1.3K0
图像压缩领域
1. 传统图像压缩 方法 主页 说明 JPEG XL https://jpeg.org/jpegxl/ JPEG 小组提出,目前最好的图像压缩方法 CMIX http://www.byronknoll.com/cmix.html 无损数据压缩方法,以高 CPU/内存使用率换高压缩比 Lepton https://github.com/dropbox/lepton 对 JPEG 图片进行无损压缩,节省近 22%22\%22% 的大小 FLIF https://flif.info/ 无损图像压缩方法,目前已停止
hotarugali
2022/09/08
7290
Python Flask 中的路由
在 Web 应用中,接口一般都是遵守 RESTful API 设计风格的,这种风格很优雅,而且对用户来说非常易于理解。
Python碎片公众号
2021/02/26
1.3K0
Python Flask 中的路由
【Python Web实战】Python Flask的静态路由和动态
路由分为静态和动态两种,静态路由就是在上一节使用的路由,直接使用@app.route定义,route的参数值就是路由,也就是在浏览器地址栏中输入Url的路径。例如,@app.route('/greet/abc')表示访问该路由的Url是http://localhost:5000/greet/abc。
蒙娜丽宁
2021/03/29
1.2K0
flask toastr动态通知插件(flask 100)
toastr.options = { "closeButton": false, "debug": true, "positionClass": "toast-top-right", "showDuration": "300", "hideDuration": "1000", "timeOut": "5000", "extendedTimeOut": "1000", "showEasing": "swing", "hideEasing": "linear", "showMethod": "fadeIn", "hideMethod": "fadeOut" }
用户5760343
2019/08/20
7130
Flask(5)- 动态路由
网站中有 3 个用户 tom、jerry、mike,提供了 3 个路由访问这 3 个用户的信息
小菠萝测试笔记
2021/07/14
5730
Flask(5)- 动态路由
图像数据压缩
sigma.shape (460,) sum(sigma) 157867.72703660247 ==k===: 1 sigma.shape (460,) sum(sigma) 187252.6105270152 ==k===: 1 sigma.shape (460,) sum(sigma) 212052.90981610806 ==k===: 1 sigma.shape (460,) sum(sigma) 157867.72703660247 ==k===: 1 sigma.shape (460,) sum(sigma) 187252.6105270152 ==k===: 2 sigma.shape (460,) sum(sigma) 212052.90981610806 ==k===: 1 sigma.shape (460,) sum(sigma) 157867.72703660247 ==k===: 9 sigma.shape (460,) sum(sigma) 187252.6105270152 ==k===: 9 sigma.shape (460,) sum(sigma) 212052.90981610806 ==k===: 4 sigma.shape (460,) sum(sigma) 157867.72703660247 ==k===: 33 sigma.shape (460,) sum(sigma) 187252.6105270152 ==k===: 29 sigma.shape (460,) sum(sigma) 212052.90981610806 ==k===: 20 sigma.shape (460,) sum(sigma) 157867.72703660247 ==k===: 108 sigma.shape (460,) sum(sigma) 187252.6105270152 ==k===: 96 sigma.shape (460,) sum(sigma) 212052.90981610806 ==k===: 87
裴来凡
2022/05/29
6730
图像数据压缩
Matlab实现图像压缩
1. 理解图像压缩的相关概念及图像压缩的主要原则和目的; 2. 掌握霍夫曼编码 3. 掌握几种常见的图像压缩编码方法 4. 利用 MATLAB 程序进行图像压缩
timerring
2023/03/08
7740
Matlab实现图像压缩
在 Confluence 中启用 HTTP 响应压缩
Confluence 能够支持 HTTP 的 GZip 传输编码。这个意味着 Confluence 将可以把数据压缩后传输给用户,这种配置能够针对不稳定的互联网状态下的传输速度缓慢和不稳定并且能够降低 Confluence 服务器的带宽的消耗。
HoneyMoose
2019/01/30
1.1K0
python web开发-flask中读
某些情况下,需要读取flask网站要目录下的txt文件。但是直接在flask网站的目录下创建一个文件是无法访问的。从网站找了一些资料,最终发现通过写一个方法返回txt内容比较简单方便,不过此方法适用于简单的文件读取以及读取量比较小的时候。详细代码如下:
py3study
2020/01/07
4990
python中flask 常见问题
本文出自https://blog.csdn.net/qq_33020901/article/details/69802445
py3study
2020/01/13
1.7K0
Python通过多帧静态图像制作GIF动态图像
下面的代码可以把多个png图像文件合并为一个GIF动态图像文件,如果无法正常执行的话,除了需要使用pip安装pillow和images2fig扩展库之外,很可能还需要找到扩展库images2gif的主文件images2gif.py,然后把第426行代码 palettes.append( getheader(im)[1] ) 改为 palettes.append( im.palette.getdata()[1] ) 然后再执行下面的程序。 import os import os.path from PIL i
Python小屋屋主
2018/04/16
1.4K0
点击加载更多

相似问题

Python Flask动态图像

11

动态更改Flask中的图像源

12

Python图像压缩

117

在App Engine (Python)中压缩动态文件

30

在flask python中解压缩JSON时出现键错误

119
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文