0

这就是我的文档项目中我的 antora-playbook.yml 的内容:

runtime:
  cache_dir: ./.cache/antora
site:
 title: Dokumentation "My App"
 start_page: component-a::index.adoc
content:
 sources:
  - url: https://gitlab.x.info/myapp/app.git
    branches: asciidoc-GitLab
    start_path: docs
 asciidoc:
   attributes:
   experimental: ''
   idprefix: ''
   idseparator: '-'
   page-pagination: ''
   source-language: asciidoc@
  ui:
   bundle:
   url: https://gitlab.com/antora/antora-ui-default/-/jobs/artifacts/master/raw/build/ui-bundle.zip? 
   job=bundle-stable
   snapshot: true

不可能包含 gitlab 证书,例如:

git:
  ca:
   path:C:\path_to_cert.crt

它也不适用于系统环境变量:

NODE_EXTRA_CA_CERTS=C:\cert.crt

那么,我怎样才能将证书放到 antora-playbook.yml 或我的文档项目中的其他任何地方?现在,使用命令时,一切都以 400 错误结束:antora antora-playbook.yml

4

1 回答 1

1

好的,有一个解决方案:创建一个 .js 文件,即带有内容的 app.js:

const https = require('https');
const fs = require('fs');
const axios = require("axios");
const { exec } = require("child_process")

const httpsAgent = new https.Agent({
port: 1234,
key: fs.readFileSync("C:\\cert.pem"),
cert: fs.readFileSync("C:\\cert.crt"),
pfx: fs.readFileSync('C:\\cert.pfx'),
passphrase: 'password',
form: {
    //credentials GitLab
    username: "username",
    password: "password"
}
 })
axios.get('https://gitlab.x.info/users/sign_in', {
    httpsAgent
}).then(res=>{
    console.log(res.status)
    **exec("npm run-script antora")**
}).catch(res=> {
    console.log(res)
})

并在包 json 中放置:

 "scripts": {
   "antora": "antora antora-playbook.yml"
  }

这是一种方式。可能还有其他方法可以让它发挥作用。

于 2021-03-30T22:43:40.560 回答