gpt4 book ai didi

amazon-web-services - 我如何使用AWS CodeBuild来构建大型Java工件和Docker镜像来提高jenkins的性能?

转载 作者:行者123 更新时间:2023-12-02 18:14:01 29 4
gpt4 key购买 nike

我们的 Jenkins (Jenkins)安装在AWS中,我们没有设法使用奴隶。由于平台很大,并且某些 Artifact 包含许多其他 Artifact ,因此当多个开发人员致力于不同的存储库并被迫同时运行多个作业时,我们的 Jenkins 人就受到了限制。

目的是:
-使用jenkins,因为我们的流程是基于jenkins进行记录的,并且我们使用了许多插件,例如测试结果摘要和github集成
-在codebuild中运行作业并在jenkins中获得反馈以提高性能

是否有最佳做法?

最佳答案

我们执行了以下步骤在jenkins之外构建大型 Artifact :
-安装jenkins codebuild插件
-创建 Jenkins 管道
-在S3中存储Maven构建的settings.xml
-将访问权限存储在系统管理器参数中以在代码构建和Maven中使用

  • 创建具有必要权限和以下功能的代码构建项目:
    -从s3获取settings.xml
    -使用必要的访问数据运行Maven
    -将测试结果存储在s3
  • 创建具有以下功能的jenkinsfile:
    -获取commitID并使用它运行codebuild
    -从s3获取测试结果的生成文件并将其传递给jenkins
    -从s3删除生成的文件
    -将文件传递给jenkins以显示测试结果

  • 通过这种方法,我们设法将运行时间减少到5分钟。

    我们面临的下一个挑战是在Java微服务之上构建应用程序并对其进行分类,创建docker镜像并将其推送到不同的环境。该作业在 Jenkins (Jenkins)运行约25分钟。

    我们执行了以下步骤在jenkins外部构建docker镜像:
    -安装jenkins codebuild插件
    -创建 Jenkins 管道
    -在S3中存储Maven构建的settings.xml
    -将访问权限存储在系统管理器参数中以在代码构建和Maven中使用
  • 创建具有必要权限和以下功能的代码构建项目:
    -从s3获取settings.xml
    -在所有环境中登录ecr
    -构建 Angular 应用程序
    -构建Java应用
    -复制Docker构建所需的文件
    -构建docker镜像
    -推送至所有附件
  • 创建具有以下功能的jenkinsfile:
    -获取两个存储库的分支名称以从中构建docker镜像
    -获取分支最新的commitID
    -使用两个commitID调用代码构建项目(注意,主存储库将需要buildspec)

  • 通过这种方法,我们设法将运行时间减少到5分钟。

    示例代码: https://github.com/felipeloha/samples/tree/master/jenkins-codebuild

    关于amazon-web-services - 我如何使用AWS CodeBuild来构建大型Java工件和Docker镜像来提高jenkins的性能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57000686/

    29 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com