问题标签 [gitlab-ci.yml]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
62 浏览

jdbc - JMeter & Gitlab: 如何安装 & SQLServer JDBC 驱动程序?

justb4/jmeter:latest我有一个从Docker 映像调用 JMeter 的 Gitlab 管道。

一切正常,但是当我签入最新版本的 JMX 时,我忘记了我正在使用本地安装的 MSSQL JDBC 驱动程序,所以我得到了下面的预期 ClassNotFoundException。

使相关 DLL 和 JAR 可用于我的 gitlab-ci 文件的正确方法是什么?

0 投票
1 回答
293 浏览

java - 将 Android Gitlab CI/CD 管道从 Java 1.8 更新到 Java 11?

升级到 Gradle 7 后,项目在 Android Studio 的本地 PC 上成功构建,但在 Gitlab 管道中没有。

Gradle 7.0.2 需要 Java 11。

Gitlab管道中的错误消息是

评估项目 ':app' 时出现问题。未能应用插件“com.android.internal.application”。Android Gradle 插件需要 Java 11 才能运行。您当前使用的是 Java 1.8。您可以尝试以下一些选项: - 更改 IDE 设置。- 更改 JAVA_HOME 环境变量。-改变org.gradle.java.homegradle.properties

(通过在命令提示符下从项目目录在本地计算机上执行以下命令来检查您的 gradle 版本)

.gitlab-ci.yml: 原始完整的 .gitlab-ci.yml 脚本在 2018 年的这篇文章中进行了描述,该脚本适用于 Java 1.8(不适用于 Java 11)和 Gitlab 上的 gradle 4(不适用于 gradle 7):https: //about.gitlab.com/blog/2018/10/24/setting-up-gitlab-ci-for-android-projects/

在 Android Studio 的本地电脑上:从 Java 1.8 升级到 11

在 Android Studio 的本地电脑上,从 Java 1.8 升级到 11 需要 3 个步骤(并重新启动):

第 1 步:将 Android Studio 中的 Gradle 设置调整为 Java 11 或更高版本

(Arctic Fox 2020.3.1 补丁4:文件->设置->构建、执行、部署->构建工具->Gradle->Gradle JDK) 在此处输入图像描述

第 2 步:更新 JAVA_HOME 变量(Windows“编辑系统环境变量”[在此处输入图像描述

将 JAVA_HOME 变量设置为与 Android Studio 中的相同

第 3 步:将 build.gradle 从 JavaVersion.VERSION_1_8 更新为 JavaVersion.VERSION_11 在此处输入图像描述

在此处输入图像描述

通过选择打开(在灯泡中或右上角) 在此处输入图像描述 重新启动,也可以在菜单项目结构中更改它。

.gitlab-ci.yml :从 Java 1.8 升级到 11

当基于新 gradle 版本 7.0.2 构建的代码被推送到 gitlab 时,原始 .gitlab-ci.yml 使用 Gradle 7.0.2 产生以下错误:

原始 gitlab.ci.yaml 的第一个错误

评估项目 ':app' 时出现问题。未能应用插件“com.android.internal.application”。Android Gradle 插件需要 Java 11 才能运行。您当前使用的是 Java 1.8。您可以尝试以下一些选项: - 更改 IDE 设置。- 更改 JAVA_HOME 环境变量。-改变org.gradle.java.homegradle.properties

从第 1 行更改 .gitlab-ci.yml 中的图像

产生了另一个错误:

$ 回声 y | android-sdk-linux/tools/bin/sdkmanager "platforms;android-${ANDROID_COMPILE_SDK}" >/dev/null 线程 "main" java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema at com. android.repository.api.SchemaModule$SchemaModuleVersion.(SchemaModule.java:156) 在 com.android.repository.api.SchemaModule.(SchemaModule.java:75) 在 com.android.sdklib.repository.AndroidSdkHandler.(AndroidSdkHandler.java :81) 在 com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:73) 在 com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:48) 原因:java。 lang.ClassNotFoundException:在 java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581) 在 java.base/jdk.internal.loader.ClassLoaders$AppClassLoader 的 javax.xml.bind.annotation.XmlSchema。

我在这个问题上花了很多时间。

有什么建议么 ?

0 投票
1 回答
219 浏览

gitlab - 为同一项目中的子目录运行 gitlab-ci

我在同一个 GitLab 项目中有三个子项目(Angular 和 Node)。现在我想gitlab-ci.yml为构建和部署这个子项目之一创建文件。我可以创建三个不同gitlab-ci.yml的并在子目录中运行它们吗?是否可以?还是我应该将它们推入三个不同的项目?

在此处输入图像描述

0 投票
1 回答
31 浏览

django - Django unittest 运行特定的测试语法

我想在管道中从我的 app bank/tests.py 运行一个特定的单元测试,但我不断收到错误,我相信我在这里的语法上遗漏了一些东西

这是我的测试:

这就是我在管道中调用测试的方式:

这是管道失败时的错误消息:

有什么建议么?

0 投票
0 回答
66 浏览

gitlab - 即使文件未更改,gitlab-ci.yml 文件规则“更改”也会运行

我只想在选定文件(我们称之为 x.yml)发生更改时运行我的管道。问题是即使 x.yml 不变,作业仍在运行。当我将我的分支与主分支进行比较时,文件显示为未更改。我的问题是,“更改”关键字在 gitlab-ci.yml 文件中如何真正起作用?它是与同一分支上的旧提交进行比较还是与主分支进行比较?另外,是否有任何可能的方式可以更改我的文件但不显示在 gitlab 比较中?

谢谢

0 投票
1 回答
68 浏览

gitlab - 如何将 gitlab-ci.yml 中的阶段执行限制为几个小时?

我在 gitlab-ci.yml 中有多个阶段。我想限制例如部署到只能在上午 8 点到下午 16 点之间执行的生产阶段。这是阶段性的“if”语句还是可以通过其他方式解决?

0 投票
1 回答
204 浏览

gitlab-ci - script: 和 before_script: 在 gitlab-ci.yml 中的作业中有什么区别

.gitlab-ci.yml可以添加一个在所有定义的作业before_script之前运行的默认值。script

我的问题是为什么要before_script在工作中定义而不是仅仅script在工作中使用?是before_script在作业内部使用只是为了覆盖默认值before_script,还是有其他情况或原因?

0 投票
1 回答
69 浏览

amazon-web-services - 使用 gitlab 管道的两个任务定义中的 AWS ECS 映像

在设置构建、部署和运行 docker 镜像到 AWS ECS 所需的一切方面,我已经走了很长一段路。

到目前为止,我已经实现了:

  • docker 镜像被构建并推送到我的私有 gitlab 容器注册表
  • AWS ECS 集群、服务和任务定义已设置、启动并运行。我在一个集群服务中有两个任务定义。两个容器都在运行 - 在初始启动时,ECS 从 gitlab 注册表中成功提取了图像(React webapp,图像仅在某些前端配置中有所不同,这就是我有两个容器/任务定义的原因)。

现在的问题是:我正在尝试按照官方 gitlab 文档将图像部署到 ECS。需要说明的是,我使用的是 Fargate,而不是 EC2。我特别有问题gitlab-ci.yml,因为在文档中,它们引用了应该用于部署的模板。

模板本身包含另外 2 个模板:

  1. 构建模板
  2. 部署模板

因为我不能像它们一样依赖这些模板,不仅仅是因为当我按照文档中的描述配置所有内容时它们不起作用,主要是因为我有两个任务定义必须在一个 CD 作业中部署。

我已经设法将部署脚本复制到我自己gitlab-ci.yml的仓库中的文件中。这是当前版本,它只有一个任务定义:

老实说,我不知道所有这些脚本块(审查、生产……)在做什么。我很乐意通过运行两个任务定义并遵循一些最佳实践来使其尽可能简单。

0 投票
1 回答
58 浏览

mysql - 将本地 mysql 连接到 gitlab ci/cdpipeline 时出错

我有一个带有 mysql 数据库连接和 junit 测试类的 spring-boot 应用程序。这在本地机器上运行良好。但是当我将代码推送到 Gitlab 以构建 CI/CD 管道时,由于 mysql 连接问题,构建阶段失败了。

应用程序.yml

.gitlab-ci.yml

以下是错误日志的一部分

我尝试了很多方法将我的本地 mysql 连接到 gitlab。但我无法让它工作。有人可以帮我解决这个问题吗?

0 投票
0 回答
14 浏览

ant - 自动增加 Ant build/version.properties 的次要版本并将其设置在 gitlab-ci.yml

我们在项目中使用了 ant 构建工具。我们有 build.xml 并将属性存储在 build/version.properties 中。我在设置从 build.properties 到 GitLab-ci.yml 的次要版本的任务时遇到问题。我希望这个次要版本在每次提交后增加。我附上了一些图片以供参考 build.xml脚本以更新次要版本。在 gitlab-ci.yml 我们定义一个变量:MANEN_CLI_OPTS:" -s settings.xml --batch-mode -Dcc5_majorversion=5.143 -Dcc5_minor_version=$CI_PIPELINE_IID"