如何为项目gitsync提供HTTP认证的SSL证书?

问题描述 投票:0回答:1

我有一个 Ansible 自动化平台实例。我创建了一个使用 git 作为源代码控制类型的项目。

问题是我使用的 Git 提供程序位于反向代理后面,除了 git 服务器本身的用户名/密码之外,它还要求用户提供用于 SSL 身份验证的 SSL 证书/密钥对。在我的电脑上,我的

.gitconfig
看起来像这样(Windows):

[http "https://my.git.server/"]
    sslCert = CurrentUser\\MY\\<certificate thumbprint>
    sslBackend = schannel

或者这个(Linux):

[http "https://my.git.server/"]
        sslCert = /home/my-user/.git/my-user.crt
        sslKey = /home/my-user/.git/my-user.key

如何配置 AAP 以在拉取项目剧本并从 SCM 同步时提供用于 SSL 身份验证的证书/密钥对?

ansible ansible-automation-platform
1个回答
0
投票

解决方案是将证书和

.gitconfig
托管在主机文件系统上,然后将目录映射到执行环境作业。

创建

.gitconfig
文件:

[http "https://my.git.server/"]
        sslCert = /home/runner/.git/my-user.crt
        sslKey = /home/runner/.git/my-user.key

将它们保存在

awx
用户可访问的中心位置,例如
/etc/ansible
:

/etc/ansible/gitconfig
|
|__ .git/
|   |
|   |__ my-user.crt
|   |
|   |__ my-user.key
|
|__ .gitconfig

使

awx
成为目录的所有者:

chown -R awx:awx /etc/ansible/gitconfig

Settings > Job settings > 暴露给隔离作业的路径下,将卷装载从主机文件系统上的目录(在本例中为

/etc/ansible/gitconfig
)添加到执行中用户的主文件夹环境图像(在本例中为
/home/runner
):

[
  "/etc/ansible/gitconfig:/home/runner:O"
]

:O
选项将目录标记为只读。其他选项可以在这里找到。

或者,这是 API 中作业设置下的

AWX_ISOLATION_SHOW_PATHS

© www.soinside.com 2019 - 2024. All rights reserved.