首页 文章

bitbucket管道docker-run限制的可能解决方案

提问于
浏览
0

我的集成测试高度依赖于弹性搜索,因为要在bitbucket管道上构建我的集成测试,我必须执行docker-run命令才能在集成测试期间启动弹性搜索实例 .

但正如你们中的一些人所知,bitbucket管道存在限制

有关如何使用这些命令的信息,请参阅Docker命令行参考 . 出于安全原因,目前禁止在我们的共享构建基础结构上使用其他命令,例如docker run .

因此,我不知道如何使用我需要的所有配置来启动我的escluster,无痛脚本,映射,暴露的端口可用于我的集成测试 .

有人知道我怎么能实现这个目标?

2 回答

  • 0

    好的,我设法让它工作,我正在努力运行弹性搜索,因为这个错误https://github.com/docker-library/elasticsearch/issues/111

    这是通过应用config discovery-type: single-node 修复的 . 因为我_115703需要在 生产环境 模式下运行ES . 事情是bitbucket-pipeline没有显示此错误的错误日志,所以我完全失明了,我不得不尝试很多东西,直到找到 . 由于我无法在管道上构建和运行自己的映像,因此我使用自己的配置(包括单节点配置)和脚本以及docker hub上传了一个映像 .

    这就是我的yaml最终的样子:

    image: maven:3.3.9
        pipelines:
          default:
            - step:
                caches:
                  - maven
                script:
                  - docker version
                  - mvn clean package verify -Dmaven.docker.plugin.skip=true -s settings.xml
                services:
                  - elasticsearch
    
        definitions:
          services:
            elasticsearch:
              image: elastic-search-bitbucket-pipeline
        options:
          docker: true
    
  • 0

    您可以尝试将弹性搜索图像定义为服务,如下所述:Use services and databases in Bitbucket Pipelines

相关问题