【问题标题】:Bitbucket pipelines, How could i access to another container?Bitbucket 管道,我如何访问另一个容器?
【发布时间】:2019-06-28 13:17:56
【问题描述】:

我尝试使用 Bitbucket 管道为我的应用构建一些测试流程。

核心测试工具是 Cypress。我想设置几个 docker 容器并执行 Cypress 来测试我的应用程序。

所以,我的bitbucket-pipelines.yml 看起来像这样:

image: docker:stable

options:
  docker: true

pipelines:
  default:
    - step:
        name: Install PHP app
        caches:
          - composer
        script:
          - cp config/db.sample.php config/db.php
          - sed -i "s/[HOSTNAME]/db/" config/db.php
          - sed -i "s/[DB_NAME]/dbname/" config/db.php
          - sed -i "s/[DB_USER]/usr/" config/db.php
          - sed -i "s/[DB_USER_PASSWORD]/pass/" config/db.php
          - cp web/index.sample.php web/index.php
          - docker run --name db --restart always -e MYSQL_DATABASE=dbname -e MYSQL_USER=usr -e MYSQL_PASSWORD=pass -e MYSQL_ALLOW_EMPTY_PASSWORD=yes -d -p 3306:3306 mariadb
          - docker run --name web -v="$BITBUCKET_CLONE_DIR:/app" -d -p 8000:80 yiisoftware/yii2-php:5.6-apache
          - docker run --name e2e -v="$BITBUCKET_CLONE_DIR:/app" --workdir /app --tty -d cypress/base:10
          - docker exec -i web composer install
          - docker exec -i db mysql -uroot dbname < ./migrations/data/structure.sql
          - docker exec -i e2e yarn install
          - docker exec -i e2e yarn run cypress run --config baseUrl=http://web --project ./
        services:
          - docker
          - web
definitions:
  services:
    db:
      image: mariadb
    web:
      image: yiisoftware/yii2-php:5.6-apache
    e2e:
      image: cypress/base:10

总的来说,它几乎可以正常工作,但由于某种原因,我无法访问e2e 容器内的web 服务。我尝试使用容器名称,例如http://web,但它不起作用。 这里有什么问题?

【问题讨论】:

  • 我想你忘了在services serction 中添加e2e
  • @LolWalid 感谢您的评论,但仍然是同样的错误

标签: docker yii2 cypress bitbucket-pipelines


【解决方案1】:

好的,看起来问题已经解决了。我决定创建基于yiisoftware/yii2-php:5.6-apache 的新镜像,并手动安装所有deps:

因此,之后我构建了一个图像并将其用作我的配置中的 Web 服务的图像。 名为e2e 的服务已被删除。 Cypress 测试执行如下所示:

docker exec -i web yarn run cypress run --config baseUrl=http://localhost:80 --project ./

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-07-23
    • 2019-05-01
    • 2023-02-24
    • 2019-07-09
    • 1970-01-01
    • 2020-07-20
    • 2017-07-12
    相关资源
    最近更新 更多