【发布时间】:2021-01-12 10:05:23
【问题描述】:
在 CircleCI 中,我想运行访问 PostgreSQL 数据库的测试,但我想使用 SSL/TLS(使用自签名证书)连接到它。
理想情况下,它将使用默认的 CircleCI PostgreSQL 映像,使用 Docker 执行程序运行,并且不需要任何卷设置或将任何内容复制到容器中。
我该怎么做?
【问题讨论】:
标签: postgresql ssl tls1.2 circleci
在 CircleCI 中,我想运行访问 PostgreSQL 数据库的测试,但我想使用 SSL/TLS(使用自签名证书)连接到它。
理想情况下,它将使用默认的 CircleCI PostgreSQL 映像,使用 Docker 执行程序运行,并且不需要任何卷设置或将任何内容复制到容器中。
我该怎么做?
【问题讨论】:
标签: postgresql ssl tls1.2 circleci
您可以在.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
'
第一个 image: 是运行测试的地方,在这种情况下,它是一个 Python 图像,但应该可以替换为您选择的图像
【讨论】: