在 CircleCI 中,我想运行访问 PostgreSQL 数据库的测试,但我想使用 SSL/TLS(带有自签名证书)连接到它。
理想情况下,它将使用默认的 CircleCI PostgreSQL 镜像,使用 Docker 执行器运行,不需要任何卷设置或需要将任何内容复制到容器中。
我该怎么做?
最佳答案
您可以在 .circleci/config.yml
文件中包含以下内容。它会覆盖启动 bash 的入口点,然后在运行原始入口点之前,在 bash 中生成自签名证书和私钥。
version: 2
jobs:
build:
docker:
- image: python:3.8.7
- image: circleci/postgres:13.0
environment:
POSTGRES_PASSWORD: password
entrypoint: bash
command: >
-c '
openssl req -nodes -new -x509 -subj "/CN=localhost" -keyout server.key -out server.crt &&
chown postgres server.key &&
chmod 600 /server.key &&
exec /docker-entrypoint.sh -c ssl=on -c ssl_cert_file=/server.crt -c ssl_key_file=/server.key
'
第一个 图像:
是运行测试的图像,在本例中它是一个 Python 图像,但应该能够替换为您选择的图像
关于postgresql - 如何使用 SSL/TLS 在 CircleCI 中运行 PostgreSQL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65681706/