来自gitlab的持续集成服务器。
Springboot3 在 gitlab 中构建本机映像失败,Docker API 调用“docker:2376/v1.24/...”失败,状态代码 400“错误请求”
我正在尝试使用 gitlab CI/CD 构建一个 springboot3 程序,只是一个 hello world。 这是springboot3作业的pom,它只是一个hello world,所以只需粘贴pom即可。 我正在尝试使用 gitlab CI/CD 构建一个 springboot3 程序,只是一个 hello world。 这里是springboot3作业的pom,它只是一个hello world,所以只需粘贴pom即可。 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.example</groupId> <artifactId>demo</artifactId> <version>1.1</version> <packaging>jar</packaging> <name>demo</name> <description>Demo project for Spring Boot</description> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>3.3.0</version> <relativePath/> </parent> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <java.version>23</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <image> <env> <BP_JVM_VERSION>23</BP_JVM_VERSION> <BP_NATIVE_IMAGE_BUILD_ARGUMENTS>-H:-AddAllFileSystemProviders</BP_NATIVE_IMAGE_BUILD_ARGUMENTS> </env> </image> </configuration> </plugin> </plugins> </build> </project> 这是 gitlab 的工作: build-zwith-public: image: vegardit/graalvm-maven:latest-java23 stage: build script: - mvn -U -Pnative spring-boot:build-image -DskipTests services: - docker:dind 可重现 100%,我遇到这个问题: [INFO] --- spring-boot:3.3.0:repackage (repackage) @ demo --- [INFO] Replacing main artifact /builds/a/ci-cd/gitlabquestion/target/demo-1.1.jar with repackaged archive, adding nested dependencies in BOOT-INF/. [INFO] The original artifact has been renamed to /builds/a/ci-cd/gitlabquestion/target/demo-1.1.jar.original [INFO] [INFO] <<< spring-boot:3.3.0:build-image (default-cli) < package @ demo <<< [INFO] [INFO] [INFO] --- spring-boot:3.3.0:build-image (default-cli) @ demo --- [INFO] Building image 'docker.io/library/demo:1.1' [INFO] [INFO] > Pulling builder image 'docker.io/paketobuildpacks/builder-jammy-tiny:latest' 100% [INFO] ------------------------------------------------------------------------ [INFO] BUILD FAILURE [INFO] ------------------------------------------------------------------------ [INFO] Total time: 5.956 s [INFO] Finished at: 2024-11-08T02:14:31Z [INFO] ------------------------------------------------------------------------ [ERROR] Failed to execute goal org.springframework.boot:spring-boot-maven-plugin:3.3.0:build-image (default-cli) on project demo: Execution default-cli of goal org.springframework.boot:spring-boot-maven-plugin:3.3.0:build-image failed: Docker API call to 'docker:2376/v1.24/images/create?fromImage=docker.io%2Fpaketobuildpacks%2Fbuilder-jammy-tiny%3Alatest' failed with status code 400 "Bad Request" -> [Help 1] [ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. [ERROR] Re-run Maven using the -X switch to enable full debug logging. [ERROR] [ERROR] For more information about the errors and possible solutions, please read the following articles: [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginExecutionException 我希望这项工作能够正确构建,因为 mvn -U -Pnative spring-boot:build-image -DskipTests 将成功编译 macOS、Unix、Windows 环境中的本机映像。 我尝试删除 docker 中的 docker,使用 graalvm 更改为其他基本映像,但仍然存在同样的问题/ 我们如何解决这 400 个错误请求? 定义 docker 服务如下 variables: DOCKER_HOST: tcp://docker:2375 build: image: ghcr.io/graalvm/graalvm-community:latest stage: build services: - docker:dind script: - ./mvnw -U -Pnative spring-boot:build-image -DskipTests 我准备了一个公共存储库here,简单的 Spring Boot 演示应用程序,here 是 mvn 构建映像命令作业。下面你可以看到作业成功结束的日志 [INFO] [creator] Adding label 'io.buildpacks.build.metadata' [INFO] [creator] Adding label 'io.buildpacks.project.metadata' [INFO] [creator] Adding label 'org.opencontainers.image.title' [INFO] [creator] Adding label 'org.opencontainers.image.version' [INFO] [creator] Adding label 'org.springframework.boot.version' [INFO] [creator] Setting default process type 'web' [INFO] [creator] Saving docker.io/library/demo:0.0.1-SNAPSHOT... [INFO] [creator] *** Images (5e75232221c7): [INFO] [creator] docker.io/library/demo:0.0.1-SNAPSHOT [INFO] [creator] Adding cache layer 'paketo-buildpacks/bellsoft-liberica:native-image-svm' [INFO] [creator] Adding cache layer 'paketo-buildpacks/syft:syft' [INFO] [creator] Adding cache layer 'paketo-buildpacks/native-image:native-image' [INFO] [creator] Adding cache layer 'buildpacksio/lifecycle:cache.sbom' [INFO] [INFO] Successfully built image 'docker.io/library/demo:0.0.1-SNAPSHOT' [INFO] [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 07:41 min [INFO] Finished at: 2024-11-24T20:37:25Z [INFO] ------------------------------------------------------------------------ Cleaning up project directory and file based variables 00:01 Job succeeded
当我尝试运行我的 gitlab ci 文件时遇到此错误 $ 打包程序初始化 aws.pkr.hcl 在“/root/.config/packer/plugins/github.com/hashicorp/...
整理一个小型测试项目。 我想要在管道中: 更新包版本。 在 npm 中发布包。 通过跳过下一个管道来提交并推送更改。 但我遇到了这样的问题...
如何在gitlab.ci中使用parallel:maven来运行多个maven配置文件
很好奇我是否可以做类似下面的事情,本质上使用并行矩阵将 -P 标志附加到 Maven 脚本。有没有办法使用并行矩阵添加不同的maven配置文件并运行...
我想在GitLab中部署一个Maven依赖包(Spring Boot库项目),这样我就可以在其他项目中使用这个库作为依赖。 现在我浏览了 Gitlab 包文档并
linux shell skript 和 Gitlab shell 脚本的区别
我的管道总是因 shell 命令而失败。这是: 响应=$(curl -s -u "${HARBOR_SWIO_USER}:${HARBOR_SWIO_PASS}" -H "接受:application/json" "$URL") ...
我正在使用 GitLab CI/CD(编辑:v10.2.2)。 我的项目有 2 个分支:开发和测试 两者都受到保护。 devel 是默认分支。 工作流程是:我推送开发,然后合并开发...
是否可以为我的所有conf(conf_a,conf_b ...)创建一个for循环或类似的东西来简化这个.gitlab-ci.yml: 发布: 标签名称:$CI_COMMIT_TAG name: '释放 $CI_COMMI...
在 docker compose yaml 中为 Gitlab CI 混合使用和不使用赋值的 ENV 变量
在尝试通过 compose 设置数据库容器时,我遇到了凭据管理问题。我希望能够使用 Gitlab 秘密/变量来设置数据库密码等,但被困住了...
如何将 Code Beamer(提交消息指南)与 GitLab 集成
如何将 Code Beamer 与 Gitlab 集成? 此集成对于检查“提交消息指南”是必要的。这意味着,当开发人员将代码推送到 gitlab 时,webhooks 需要
我正在使用 gitlab web hook 来发布内容完整的更改,对于每个更改都会触发管道, 很多管道运行并浪费资源,我正在寻找一种解决方案来取消不需要的
如何在gitlab“阶段”中定义规则,以便无需为作业定义单独的规则
假设分阶段定义了4个工作。 阶段: 建造 测试 部署 上传 现在测试、部署和上传仅在管道手动触发时运行。我们可以为此定义单独作业的规则......
我目前正在开发 GitLab CI/CD 管道,我正在尝试使用 sed 命令在管道运行时动态更新文件的内容。我的目标是替换占位符
我构建了一个 .gitlab-ci-yaml ,它看起来像这样并触发两个子管道: 阶段: - 准备 - 触发器 包括:'global-gitlab-ci.yaml' ... 前端: 阶段:触发 扳机:
GitLab Runner 身份验证失败 - “致命:https://***.com 身份验证失败
我在 Ubuntu 服务器上使用 GitLab Runner 运行管道时遇到身份验证错误。我的代码驻留在 GitLab 存储库中,并且运行器已配置并正在运行。我已经确认了...
.gitlab-ci.yml 中的 - script 部分如何配置为使用 CSH?
考虑到以下 .gitlab-ci.yml,如何获得 - 脚本部分以有效利用 CSH? 默认: 图片:我的图片:最新 测试: 脚本: - 源csh.env - 制作 我已经创建...
我是 helm 和 gitlab 的新手.. 我试图创建一个简单的管道,一旦我提交代码 - >存储库中的舵图更新(并采用新的图像标签,即提交) 目前我的 gitlab
gitlab runner 在最后抛出“清理基于文件的变量 00:01 错误:作业失败:退出代码 1”
即使我的所有步骤都成功通过,Gitlab CI 显示了这一点 - “清理基于文件的变量 00:01 错误:作业失败:退出代码 1” 并最终失败了。还有
如何在 .gitlab-ci.yml 中为 gitlab-ci 中的子模块(不同的存储库)指定分支?
使用缓存执行在 Gitlab CI 中前一阶段构建的二进制文件
我正在尝试使用 Gitlab CI 在管道阶段构建 C 代码,并在下一个阶段执行它。 问题是执行测试阶段找不到二进制文件 我不想有...