我一直在尝试在 GitHub Actions 的测试作业中设置 SurrealDB 容器。我目前正在努力解决的问题是,我找不到一种方法来公开我的 surreal-db 自定义 docker 操作上的端口。之前我也尝试过使用服务容器(我的理解是服务容器通常就是用于这个目的)。
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
...
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
我认为一定有办法以某种方式公开端口。有人知道怎么做吗?或者你有其他方法来解决这个问题吗?
您可以使用官方的 surrealdb/setup-surreal@v1 操作,而不是创建自定义 Docker 操作或使用服务容器。此操作专门用于在 GitHub Actions 中设置和运行 SurrealDB。