Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何设置GitLab CI以有效地运行多个构建步骤,同时指出它在哪个步骤?

如何设置GitLab CI以有效地运行多个构建步骤,同时指出它在哪个步骤?
EN

Stack Overflow用户
提问于 2018-09-26 05:04:31
回答 1查看 690关注 0票数 3

我对GitLab很陌生。我已经通过..gitlab ci.yml建立了管道和阶段,它们似乎有效,但我发现我的一些假设是错误的。

我有一个大型的,多项目的分级设置,生产许多工件。我们正在设置GitLab,我非常想利用GitLab UI来显示构建的进度。这样做的目的是很好地向开发人员和评审人员表明,构建在失败之前已经走了多远,比如:

  1. 得到它的依赖项
  2. 编译主要代码,YAY!
  3. 编译测试代码,伊皮!
  4. 通过了单元测试,我们成功了!
  5. 通过了集成测试,太棒了!
  6. 通过了各种静态代码分析测试。我们差不多可以出发了!
  7. 生成的文档-我们能寄出它吗?

我已经将每个任务设置为其各个阶段的单个作业,(错误地)假设Gradle能够执行其增量构建魔术,并且这将几乎与运行它的单个步骤一样快。

然后,我注意到每个阶段都会导致似乎是一个Docker容器重新初始化。这也意味着Gradle守护进程必须重新启动,并且不了解过去。它必须得到所有的依赖项。我想我可以缓存这些数据,但似乎每个任务都会分别缓存它们。最后,这些作业最终会重复之前的作业,因为它们的输出是不可用的。我认为序列化的作业将在同一个容器实例中执行的想法被证明是错误的。后续的每个作业通常都要重复它们之前已经做过的工作,大大增加了构建时间。

我想我明白,我可以声明每个作业的工件,并以这种方式将它们提供给依赖作业,但这并不能消除所有的开销,并增加一些自己的开销--将工件复制到“某个地方”,然后返回,同时也达到了我可以传递多少的极限。事实上,我的单元测试工作现在失败了,而且由于日志大小的限制,我无法理解为什么,但是当我在GitLab之外运行它们时,它似乎只与工件(报告)有关。

我还认为我明白,工作背后的想法是能够在不同的跑步者上并行运行。这是一个非常好的特性,我可能可以在以后的阶段使用它们,但不能用于(1)-(5),因为它们严重依赖于至少一些以前的工作的大量输出。

出于性能原因,我可以将(1)-(5)合并成单个任务(和一个阶段),但在UI中(据我所知)没有任何迹象表明构建有多远.即使木头的限制被取消了,要弄清楚这些圆木还会更长、更难弄清楚。

你们中有谁对我在这里缺少什么/应该做什么有什么建议吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-09-27 12:24:19

经过进一步的研究,我发现这是不可能的(目前)。作业是(潜在的)并发执行的单位,显然只能通过复制工件进行通信。

我感兴趣的是比任务更小的步骤,这些步骤将在UI中指示,并且可以在它们(步骤)完成时,但在完成整个任务之前,发布它们的工件。这将减少我现在面临的1-2分钟的工作启动开销。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52518451

复制
相关文章
Windows Azure Pack 安装部署
Windows Azure Pack作为微软新推出的云管理与租用门户,拥有与公有云Windows Azure接近的用户体验,并且能够将私有云与公有云完美结合起来,在之前的文章中有了相关的简单介绍。下面我们就来看一看Windows Azure Pack是如何一步步实现私有云的管理的。
李珣
2019/03/14
1.3K0
Azure部署Azure Stack技巧
Azure Stack混合云的POC正式版已经发布了,盆盆已经写了十余篇有关Azure Stack的文章,您可以点击公众号右下方的菜单去阅读,有图有真相!
盆盆
2019/04/24
1.3K0
Azure部署Azure Stack技巧
Hadoop单节点安装部署
机器环境 Distributor ID: CentOS Description: CentOS release 5.8 (Final) Release: 5.8 Codename: Final jdk 版本 java version "1.6.0_45"
星哥玩云
2022/07/04
7330
Flink单节点安装部署
1)下载安装包 2)上传安装包 3)解压 cd /root tar -zxvf flink-1.6.2-bin-hadoop28-scala_2.11.tgz -C hd 4)启动 cd /root/hd/flink-1.6.2 bin/start-cluster.sh 5)停止 cd /root/hd/flink-1.6.2 bin/stop-cluster.sh 6)访问ui界面 http://192.168.6.6:8081
编程那点事
2023/02/25
6090
Microsoft Azure 以太坊节点自动化部署方案漏洞分析
作者:sunsama@知道创宇404区块链安全研究团队 时间:2018/07/10
Seebug漏洞平台
2018/07/26
6020
Microsoft Azure 以太坊节点自动化部署方案漏洞分析
Microsoft Azure 以太坊节点自动化部署方案漏洞分析
为了迎合以太坊区块链1发展需求,Microsoft Azure2早在2016年9月九推出了以太坊节点走自动部署的模块。部署情况如下:
Seebug漏洞平台
2018/07/12
1.1K0
Azure上一键部署Azure Stack
方便在Azure Global上创建Azure Stack ASDK POC环境。可以访问以下github站点:
盆盆
2019/04/24
5400
Azure上一键部署Azure Stack
Microsoft Azure部署MYSQL-MMM(1)安装MYSQL
MMM即Master-Master Replication Manager for MySQL(mysql主主复制管理器)关于mysql主主复制配置的监控、故障转移和管理的一套可伸缩的脚本套件(在任何时候只有一个节点可以被写入),这个套件也能对居于标准的主从配置的任意数量的从服务器进行读负载均衡,所以你可以用它来在一组居于复制的服务器启动虚拟ip,除此之外,它还有实现数据备份、节点之间重新同步功能的脚本。
李珣
2019/03/14
6710
Azure上一键部署Azure Stack
要参加微信课堂以及日常技术交流,请给我们发微信(微信号:markpah),请注明加入以下哪个群:
盆盆
2019/03/05
3400
Azure上一键部署Azure Stack
Kubernetes-v1.24版安装部署之Mater节点安装部署
Kubernetes Master节点部署三个服务:kube-apiserver、kube-controller-manager、kube-scheduler和一个命令工具kubectl.
王先森sec
2023/04/24
4580
kafka单节点的安装,部署,使用
1、kafka官网:http://kafka.apache.org/downloads
别先生
2019/01/07
1.5K0
Kubernetes-v1-24版安装部署之Node节点安装部署
大家可以发现k8s所有组件都安装完成后集群状态还是NotReady,这里通过kubelet报错就会发现缺少网络组件,这里就不介绍了,详情可以看我另一篇文章。
王先森sec
2023/04/24
7140
Kubernetes-v1-24版安装部署之Node节点安装部署
如何安装 TypeScript,并配置开发环境以便开始使用
TypeScript 是一种由微软开发的静态类型编程语言,它可以作为 JavaScript 的超集使用,并且可以在编译时进行类型检查。TypeScript 提供了更强大的工具和功能,使开发者能够更轻松地编写可维护、可扩展的代码。本文将详细介绍如何安装 TypeScript,并配置开发环境以便开始使用。
网络技术联盟站
2023/07/06
1.1K0
盆盆的原创Azure Stack文档和视频
自打2015年5月微软Build大会宣布研发Azure Stack,一直到前不久微软Tech Sumit上CEO亲自宣布Azure Stack上市,盆盆一直都是这个产品的最忠实拥趸,也在华来四上发表了大量的原创技术文章。在学习和研究的过程中,盆盆积累了不少的原创视频和文档,敝帚不敢自珍,在此分享给诸位同好。
盆盆
2019/04/24
6890
在Azure Stack上部署Kubernetes
要参加微信课堂以及日常技术交流,请给我们发微信(微信号:markpah),请注明加入以下哪个群:
盆盆
2019/03/05
7740
在Azure Stack上部署Kubernetes
在Azure Stack上部署Kubernetes
Azure Stack是我们实现DevOps的重要利器,而要实现DevOps,离不开容器编排平台Kubernetes的支持。本文将介绍如何在Azure Stack ASDK环境里部署Kubernetes,在AKS for Azure Stack Mooncake正式发布之前,可以让我们更方便地进行测试。
盆盆
2019/04/24
6870
在Azure Stack上部署Kubernetes
国内账号部署Azure私有云,该如何搞定App Service?
可能您会说,前段时间不是已经写过一篇类似的文章了吗?(参考这里Azure Stack App Service部署测试),由于那篇文章介绍的是TP3 Refresh,而正式版略有些不同,二来有读者反馈希望能写得更加详细一些,所以借着这次正式版发布,再写篇长文章。
盆盆
2019/04/24
2.5K0
国内账号部署Azure私有云,该如何搞定App Service?
于Heroku平台部署maven webapp(java web)工程
web: java JAVA_OPTS -jar target/dependency/jetty-runner.jar –port PORT target/tangshiyi.war
全栈程序员站长
2022/07/06
1.2K0
使用Github部署Azure应用服务
上次我们介绍了如何使用Azure应用服务(不用虚机不用Docker使用Azure应用服务部署ASP.NET Core程序)。我们通过Visual studio新建一个项目后手动编译发布代码。然后通过FTP上传我们的发布文件。整个过程跟我们手动发布项目到IIS上其实没啥差别。 这么操作有点繁琐,显然在这年头也有点过时了。这次我们来玩一下azure应用比较高级的持续部署。说高级其实也很简单,Azure现在跟github有比较深入的集成,只有通过鼠标点几下,立马就完成了。 话不多说,下面就演示下吧。
MJ.Zhou
2020/12/16
7470
使用Github部署Azure应用服务
点击加载更多

相似问题

部署Azure App时无法安装节点模块

27

Azure webapp部署

110

Azure CLI - Webapp部署

10

WebApp部署到Azure

23

从(VSO)部署Azure WebApp

14
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

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

洞察 腾讯核心技术

剖析业界实践案例

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