У нас есть собственный центр сертификации, который мы используем для подписи SSL-сертификатов.В основном это работает нормально, если ваша ОС (в нашем случае CentOS 7) регистрирует эти полномочия.Он хранится здесь:
/etc/pki/ca-trust/source/anchors/company_ca.pem
Это позволяет Firefox / chrome доверять SSL-сертификатам, подписанным через него.
Я использую sphinx-build -W -blinkcheck […]
, чтобы проверить, что ссылки в моем PythonПроект все еще действителен, так как ссылка гнилой отстой в документации.Это хорошо для всех внешних ссылок.
Однако, когда мы ссылаемся на нашу собственную версию SSL mantis (средство отслеживания ошибок), я получаю ошибку
SSLError(SSLError(1, u'[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:579)'),)))
.В нашем случае Mantis работает только по протоколу https.
Как мне сказать sphinx добавить полномочия для всей компании?
Обычно я запускаю это через токсиктаким образом:
Форекс токсина, который запускает это:
[testenv:docs]
basepython=python2.7
deps=-r{toxinidir}/requirements/requirements.txt
commands=./check_docs.bash
Сценарий bash:
#!/bin/bash
set -eux
sphinx-apidoc --force --separate --private --module-first -o docs src/ '*/*test*'
cd docs
pytest --maxfail=1 \
--tb=line \
-v \
--junitxml=junit_sphinx.xml \
--exitfirst \
--failed-first \
--full-trace \
-ra \
--capture=no \
check_sphinx.py
И сценарий питонов:
import subprocess
def test_linkcheck(tmpdir):
doctrees = tmpdir.join("doctrees")
htmldir = tmpdir.join("html")
subprocess.check_call([
"sphinx-build", "-W", "-blinkcheck", "-d",
str(doctrees), ".",
str(htmldir)
])
def test_build_docs(tmpdir):
doctrees = tmpdir.join("doctrees")
htmldir = tmpdir.join("html")
subprocess.check_call([
"sphinx-build", "-W", "-bhtml", "-d",
str(doctrees), ".",
str(htmldir)
])