2015-11-05 88 views
2

所以我想在部署完成後從Bamboo調用REST API。 該API需要用戶名和密碼,但不能存儲在Bamboo中,因爲它似乎可以在Build代理的Bash歷史記錄中查看。cURL調用REST Api

我打算用一個腳本任務,並執行類似

curl -f -v -k --user "${bamboo.user}":"${bamboo.password}" -X POST https://bamboo.url/builds/rest/api/latest/queue/project_name"/ 

這將使REST調用。但用戶名和密碼是一個問題。

我的確有選項,但是使用PEM文件。它可以提供任何人都知道這是否可以與cURL結合使用?

- 或 -

另外一個以爲 - 我可以在加密我的源代碼控制文件中的密碼,並以某種方式將其解密的生成代理,然後有捲曲正在使用的文件,而不是從命令行讀取密碼?這看起來如何cURL?

任何想法如何實現?

+0

我不知道竹子,但在bash中肯定沒有像'$ {bamboo.user}'這樣的成員訪問權限。在bash中沒有OO,除非你做了一些有趣的事情(即使這樣也不會有成員訪問)。但是,如果您使用bash 4+,當然可以將其保存在關聯數組中。 – 4ae1e1

+0

你可以使用curl從文件中讀取用戶名和密碼嗎? – user3437721

+0

我不知道這樣的選項,但這並不意味着它不存在。自己閱讀手冊頁。但是如果你知道文件的格式,當然你可以通過適當的腳本來檢索它們。老實說,我不完全理解這個問題(就我的知識而言,您如何擁有一個pem文件 - 通常用於證書和密鑰 - 存儲HTTP基本身份驗證的用戶名和密碼...) – 4ae1e1

回答

1

你的命令似乎已經在你的命令

使用PEM文件,捲曲驗證結束一個額外的報價:

curl -E /path/to/user-cert.pem -X POST https://bamboo.url/builds/rest/api/latest/queue/project_name 

該文件應同時具有私有密鑰和內部公共密鑰。

+0

是這一切都有它,我只需要提供一個PEM文件的路徑是什麼?PEM文件需要什麼內容,用戶名和密碼? – user3437721

+0

不要緊,那麼PEM文件應該是2個證書(public + private),你應該在服務器上進行身份驗證。 t知道這是什麼,你應該嘗試用用戶名+密碼來解決你的問題 – cristi

+0

任何想法如何做到這一點,加密一個文件,然後使用腳本解密它,讀取內容,並使用捲曲? – user3437721