2017-09-11 65 views
0

所以這是一個重複發生的問題,我沒有資格解決它,但我需要它修復,所以我將不得不學習。請參閱this question以瞭解過時的/不可行的解決方案,並且for a similar question without answer.製作獅身人面像文件私人

基本問題,我需要爲私有python模塊提供文檔。該項目託管在gitlab上,我使用CI來生成文檔。它們對世界而言是可見的,這並不理想。這是一個known issue,gitlab最終可能會提供一個解決方案。我等不了多久。我的計劃是使用這個項目(crypto-js)代碼並將其包含在docker runner中。不幸的是,我不知道如何去做,或者甚至有可能。

ci.yml是:

image: tsgkadot/sphinx-plantuml 

stages: 
    - build 
pages: 
    stage: build 
    script: 
    #- pip install -r requirements.txt -U 
    - sphinx-build -b html ./doc public 
    artifacts: 
    paths: 
     - public 
    tags: 
    - docker 

至於我可以計算出加密JS的接口,象這樣:

var unencrypted = document.getElementById('unencrypted_html').value; 
var passphrase = document.getElementById('passphrase').value; 
var encrypted = CryptoJS.AES.encrypt(unencrypted, passphrase); 
var hmac = CryptoJS.HmacSHA256(encrypted.toString(), CryptoJS.SHA256(passphrase)).toString(); 
var encryptedMsg = hmac + encrypted; 

其中從獅身人面像生成的HTML文件(縣)將有傳遞給js,輸出替換文件。或者,我在SO上讀到,可以在獅身人面像中包含js,但我不知道文件如何加密自己。我不介意使用一個密碼來加密所有文檔,然後與相關方共享密碼。

我也在gitlab的相關問題上發佈了這些想法,但是由於他們正在尋找更完整的解決方案,似乎沒有什麼進展。

如果有像gitlab這樣的git託管服務提供類似專用於私人存儲庫的頁面,我也很樂意切換到這一點。任何想法或指針如何實現這一點?

+0

它如何與客戶共享?他們是否在線查看或克隆和查看本地? –

+0

該模塊是我和我的同事的代碼,所以想法是讓它的在線文檔(gitlab頁面),代碼本身被克隆並在本地機器上運行。由於各種原因,內部服務器上的自託管git目前是不可能的。 –

+0

有一個有趣的建議:[GitLab討論](https://gitlab.com/gitlab-org/gitlab-ce/issues/33422#note_40554673) –

回答

1

所以我做了一個初步的修復,對現在工作:

這gitlab回購顯示工作的例子here

它使用static password protection並且在issue中也對此進行了討論。