- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 Jenkins 进行 Liferay 7.2 部署自动化,我们在 GitLab 存储库中有 Liferay 工作区(源代码),我的问题是我无法克隆仅更改/修改的单个模块(portlet)并在推送事件后构建它GitLab,相反,整个工作区正在被克隆和构建,这会花费时间来构建所有模块。我已经在 GitLab 中为 git 存储库中的任何更改实现了提交后 Hook 。请建议如何实现。
最佳答案
这是一个非常广泛的问题,主要取决于您的组织如何使用 Jenkins。
通过推送事件,您只知道它发生了,Jenkins 将加载代码。它不会每次都克隆,除非您构建一个这样做的脚本。
在任何情况下,您都将在 Jenkins 中创建一个工作环境来代表该工作,并为其提供一个专有目录。要利用已经构建的模块,您需要为此编写脚本。
比方说,一个想法是利用 Gradle(顺便说一句,您可以使用与 Jenkins 相同的编程语言 - Groovy)。你可以从在你的工作空间中使用一个包装器开始,这样可以节省时间来了解 Gradle 包装器在 GitLab 项目中带来的所有优势。
使用 Gradle,您可以构建真正加快处理速度的缓存,但在每个作业执行都有自己的构建工件集的 Jenkins 作业中实现这一点有点困难。但是,您可以使用 Gradle 来检查或选择要使用自定义逻辑构建的模块。
假设您开始使用名为 version.propeties
的文件标记模块。或常规 build.gradle
带有一些指标,如“快照”。您的 Gradle 构建逻辑可以使用它来选择工作区的子项目(这是一个 Gradle 项目)。
但最后,您可能最终会注意到您有可能在其他项目中的模块组和一些几乎从未更新过的模块,您可能会将它们放入自己的工作区。这样做没有坏处。
另一点是确保您使用 Gradle 的并行build设置,并且您的硬件能够胜任这项任务。用于构建的 Gradle 守护程序也可以提供帮助。
有无数的因素可能会有所帮助,但你的环境是告诉你可以做什么的主要指南。例如,您的 Jenkins 系统管理员可能已经安装了一个全局 Gradle 守护程序和一个全局 Gradle 环境,其中工件缓存可以为您的 Maven 依赖项而存在。他们还可以安装一个 Maven 服务器,该服务器还充当远程依赖项的缓存......
最后,它太宽泛,无法告诉您任何具体建议。但我会留给你这个:关注 Gradle 而不是 Jenkins。此外,如果您可以加快您的依赖关系解析和下载时间,这对几个项目有很大帮助。
关于gradle - Liferay dxp 7.2 Jenkins CI/CD,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57947506/
在我的程序中,我们已经创建了词汇表,并且在每个词汇表下创建了类别,但我正在尝试修改代码,以便我们可以在每个类别下创建子类别,并且子类别将是唯一的。 我可以使用 Liferay 在每个类别下添加一个子类
我正在使用 Liferay DXP,并创建了一个服务构建器模块。在这个模块中,我必须使用“oracle.jdbc.driver.OracleDriver”类,因为我已经开发了一个 FinderImpl
我在 Liferay DXP 中为 Google Analytics API 编写了代码。我通过在 build.gradle 中写入以下 jars compile group: 'common
Liferay DXP 7.2 无法使用 OpenJDK 启动(干净版本)。不使用任何IDE,它是Windows Server 2016版本(不认为服务器版本会有任何问题)刚刚在E:\PROJECT_
假设存在答案,这应该(我认为)有一个简单的答案。 是否可以使用 IronPython 将当前 *.dxp 项目的路径作为字符串返回?我经常在 VBA 中使用类似的东西,它变得非常有用。 我已经尝试查看
我希望得到您的支持,以便在自定义 Liferay DXP 7.0 Enterprise 中的搜索组件时获得一些帮助。 我已经查看了所有可用的文档,但尽管我找到了很多关于该问题的文章,但对我来说一步一步
到目前为止,我一直为我的主题提供某种用 Java 编写的 NavigationUtil-Class,并将其放在 docroot\WEB-INF\src 下。 我使用主题生成器和blade cli将主题
我正在尝试将 Apache POI 集成到 Liferay DXP(OSGi) 中,但无法解决 gradle 项目中与 POI 3.17 版本的依赖关系。我用下面的 JAR 创建了独立项目: poi-
我正在使用 Jenkins 进行 Liferay 7.2 部署自动化,我们在 GitLab 存储库中有 Liferay 工作区(源代码),我的问题是我无法克隆仅更改/修改的单个模块(portlet)并
我编写了下面的代码,但它总是返回用户 ID(数字,如“40156”、“20147”等),而不是用户名 有人可以告诉我如何获取屏幕名称 ThemeDisplay themeDisplay; HttpSe
我正在尝试在 osgi 环境 (Liferay DXP) 中使用 JAXB 2.2.11。我在创建 JAXBContext 时遇到问题。基于研究时发现的其他一些来源,如 this和 this ,我已经
我有下一个环境: 具有集群许可证的 Liferay 7.1 DXP(与 wildfly 16.0 捆绑在一起) 这个包在本地主机上的同一台机器(2 个节点)上运行,但端口不同 每个节点都有相同的数据库
我是一名优秀的程序员,十分优秀!