簡體   English   中英

GitLab 將配置部署到本地網絡設備時,CI/CD 管道失敗並出現“主機未知”錯誤

[英]GitLab CI/CD Pipeline Fails with 'Host Unknown' Error when Deploying Configurations to Local Network Devices

我的 GitLab CI/CD 管道目前遇到問題,我需要一些幫助。 這是問題所在:

我在 GNS3 中有一個網絡設置,我在其中模擬多個網絡設備,每個設備都有自己的 IP 地址。 我寫了一個 Ansible 劇本,當在我的本地機器上執行時,它成功地將配置從文本文件推送到這些網絡設備。 我可以確認我可以在本地計算機上使用 SSH 訪問設備。

但是,當我嘗試在 GitLab CI 環境中使用相同的劇本部署配置時,管道始終失敗,並顯示錯誤消息“主機未知”。

為了解決這個問題,我已經對 GitLab Runner Docker 和 shell 配置做了一些修改。 我將 the.network_mode 設置為“host”並進行了類似的更改,希望它能讓管道成功地與 the.network 設備通信。 不幸的是,問題仍然存在。

我懷疑管道環境無法解析我本地計算機中 local.network 設備的主機名/IP 地址值得注意的是,我可以從本地計算機將 SSH 連接到這些設備,但 GitLab CI 環境似乎無法建立連接。

有沒有人遇到過類似的問題?

工作中的劇本執行

嘗試將ssh-keyscan 172.100.100.2 >> ~/.ssh/known_hosts步驟添加到在 GitLab 運行程序中執行的 GitLab CI/CD 作業中。

SSH 將需要它,以免在“主機的真實性”步驟中出錯。
它可能在你的正常環境中工作(因為你自己的~/.ssh/known_hosts已經配置好了),但它不會在 GitLab runner docker 容器中工作,它有自己的文件系統。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM