您好,登錄后才能下訂單哦!
小編給大家分享一下在Jenkins上如何運行git-secret ,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
通常,對我們在代碼中使用的機密或憑據進行加密,然后將其保存在安全的地方。我們可以有很多選擇來實現這一目標,例如使用 Vault 和 Git-crypt 等工具來。git-secret 是一個簡單的工具,我們可以使用它在 Git 倉庫中存儲密鑰。Git-secret 使用 gpg 加密和解密密鑰。
git-secret 的工作方式如下。進入倉庫中要加密文件的文件夾,然后,運行 git init && git secret init
。這將初始化 .gitsecret
文件夾,然后運行 git secret tell $email
,如果您希望其他用戶解密密鑰文件,則必須導入其 gpg 公鑰,然后再次運行 git secret tell $otheruseremailid
。現在您可以運行 git secret add $secretfilename
和 git secret hide
,這將創建名為 $secretfilename.secret
的加密的密鑰文件。
或許你會對在 Git 中存儲加密的憑據感興趣。
現在,您可以提交 master 分支庫了。git-secret 自動將 $secretfile
添加到 .gitignore
,因此您只需提交 $secretfile.secret
文件。
將 git-secret 集成到 Jenkins 中的主要挑戰是 git-secret 使用 gpg 私鑰和公鑰。如果我們必須運行 git secret reveal
,我們應該有一個 gpg 私鑰。因此,我們如何在 Jenkins 上運行它,怎樣使用一個從節點來拉取倉庫并進行構建,如果您必須在從節點展示 git secret,則應該在從節點擁有 gpg 私鑰。 我們如何在 Jenkins 流水線中實現這種加密和解密?
這些步驟將說明在 Jenkins 流水線中使用 git-secret 的方法。
1.導出 gpg 私鑰。
gpg -a --export-secret-keys $keyid > gpg-secret.key gpg --export-ownertrust > gpg-ownertrust.txt
你將通過運行 gpg --list-secret-keys
獲得密鑰 ID。 此處的 E7CD2140FEC5B45F42860B2CC19824F8BC975ABCD
是密鑰 ID。
sec rsa4096 2019-09-17 [SC] E7CD2140FEC5B45F42860B2CC19824F8BC975ABCD uid [ultimate] Test (test gpg key) <test@domain.com>
2.將導出的 gpg 密鑰和所有者信任作為 secret file
添加到 Jenkins 憑證。 下圖展示了添加私鑰作為 Jenkins 憑據。以相同的方式添加所有者信任文件。
3.添加 gpg 私鑰的密碼短語作為 secret text
。下圖演示了這一點。
4.在 Jenkins 流水線中使用添加的 gpg 私鑰、所有者信任文件和密碼短語。這里的 “gpg-secret”、”gpg-trust” 和 “gpg-passphrase” 是添加 Jenkins 憑據時給出的 ID。
pipeline { agent { node { label 'test_slave' } } environment { gpg_secret = credentials("gpg-secret") gpg_trust = credentials("gpg-trust") gpg_passphrase = credentials("gpg-passphrase") } stages { stage("Import GPG Keys") { steps { sh """ gpg --batch --import $gpg_secret gpg --import-ownertrust $gpg_trust """ } } stage("Reveal Git Secrets") { steps { sh """ cd $WORKSPACE/$yoursecretfolder git init git-secret reveal -p '$gpg_passphrase' """ } } } }
以上是“在Jenkins上如何運行git-secret ”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。