在 GitHub Docker Action 上公开端口

问题描述 投票:0回答:1

问题

我一直在尝试在 GitHub Actions 的测试作业中设置 SurrealDB 容器。我目前正在努力解决的问题是,我找不到一种方法来公开我的 surreal-db 自定义 docker 操作上的端口。之前我也尝试过使用服务容器(我的理解是服务容器通常就是用于这个目的)。

尝试解决问题

  1. 将其作为服务容器运行:
  test:
    name: Test
    runs-on: ubuntu-latest
    env:
      SURREAL_USER: ${{ secrets.SURREAL_USER }}
      SURREAL_PASS: ${{ secrets.SURREAL_PASS }}
      SURREAL_PORT: ${{ vars.SURREAL_PORT }}
    steps:
      - uses: actions/checkout@v4
      ...

    services:
      db:
        image: surrealdb/surrealdb:latest
        # Problem here is that I can't use the entrypoint property to launch the server
        ports:
          - ${{ vars.SURREAL_PORT }:8000
  1. 创建自定义 GitHub 操作来运行它
...
inputs:
  surreal-user:
    description: "Username for the account"
    required: false
    default: "root"
  surreal-pass:
    description: "Password for the account"
    required: false
    default: "root"
  surreal-port:
    description: "Port to expose on the host machine"
    required: false
    default: "8000"

runs:
  using: "docker"
  image: docker://surrealdb/surrealdb:latest
  entrypoint: "entrypoint.sh"
  args:
    - ${{ inputs.surreal-user }}
    - ${{ inputs.surreal-pass }}
    - ${{ inputs.surreal-port }}
  # ... and here I can't use the ports property

我认为一定有办法以某种方式公开端口。有人知道怎么做吗?或者你有其他方法来解决这个问题吗?

continuous-integration github-actions surrealdb
1个回答
0
投票

您可以使用官方的 surrealdb/setup-surreal@v1 操作,而不是创建自定义 Docker 操作或使用服务容器。此操作专门用于在 GitHub Actions 中设置和运行 SurrealDB。

© www.soinside.com 2019 - 2024. All rights reserved.