位桶管道 mongodb

Bitbucket pipeline mongodb

我正在尝试在我的 bitbucket 管道上添加 mongodb,但出现以下错误:

Uncaught MongoError: failed to connect to server [localhost:27017] on first connect

我的 bitbucket-pipelines.yml:

image: leeduc/pipelines-node-mongo

pipelines:
  default:
    - step:
        script
          - npm install
          - npm test
          - npm run eslint

有解决办法吗?

尝试 运行 在构建命令之前进行一些检查,例如 Ubuntu: service mongodb status 。您的任务是查看 mongodb 在那一刻是否真的 运行ning。

您似乎需要帮助 mongo 数据库服务,幸运的是 Bitbucket 现在允许您在管道中 运行 帮助服务。我没试过,但这个 document 应该会有帮助。

让我知道如果它没有意义我会看看我是否可以添加一个例子。

不幸的是,管道不会等待服务映像下载和启动,运行 才开始执行您的脚本,因此您应该在您的代码中管理它

我在带有 Node 图像的管道中使用 Mongo,我通常添加 Mongo 作为服务。

对于节点:

image: node:13.8.0
pipelines:
  default:
   - step:
      name: Build and Test
      script: 
        - npm ci
        - npm run test
      services: # must also be defined below, in the end of the file
        - mongo # added to run the integration tests with MongoDB

  custom: # Can only be triggered manually
    deploy-to-production: 
      - step:
          name: Deploy to Production
          script:
               …. # call script here
definitions: 
  services: 
    mongo: 
      image: mongo