2017-04-11 49 views
0

上下文:我們正在開發包含許多JavaScript文件的Windows OS(VS 2017,VS Code),例如:在'controls'文件夾中,我們將有control1.js,control2.js (不同的人在不同的控制下工作)。我們如何版本JavaScript文件

|- controls 
    |- control1.js 
    |- control2.js 

On the 'apps' folder we will have : 

|-apps 
    |- app1 
     |- view.js 
     |- controller.js 
     |- model.js 
    |- app2 
     |- view.js 
     |- controller.js 
     |- model.js 

現在,想法是測試團隊將會/可能會發現需要修復的錯誤。我們將修復代碼並將固定文件(例如control1.js)重新部署到特定測試團隊。如果另一個團隊(在另一個環境中工作)在同一個文件(control1.js)中報告另一個錯誤,我們無法知道當前環境是否具有上述修復(只有代碼比較會告訴我們) 。 沒有任何文件版本可以幫助我們知道問題發生在何處(以何種版本)以及它修復的版本。

我們想要什麼 - (也許這個問題已經解決了,但我沒有找到任何東西) - 我們希望@ check-in-time要增加JavaScript文件的版本(可能是版本號,如C#)。
我們使用版本控制TFS(on premises)和VSTS/Git(在visualstudio.com上在線)。

怎麼樣? - 每個JavaScript文件都會有一些頭文件(文件頂部的大面積文字和一些註釋文本),這些頭文件將包含一些關於公司等的信息......以及文件版本例如:1.0.2.23 。 這樣,我們就知道在修復中做了什麼版本(bug跟蹤系統要求我們在錯誤被發現的是什麼版本,並在它被固定什麼版本就更不用說了。

我們怎樣才能在VS 2017年模擬這個(2015)和VS Code?
我們是否可以爲所有JavaScript文件共用一個文件(與C#中的AssemblyInfo.cs相同),並且要與每個JavaScript文件合併?
在此這樣,如果我們需要改變一些東西,我們在全球將不需要......查找/替換所有的地方?

預先感謝您。

回答

0

對於一個文件(如control1.js)需要由多個人modfied情況:

  1. 如果文件需要你固定後,要通過加倍測試小組的測試,您可以修改該文件在另一個分支上,然後由測試團隊合併到當前工作分支。
  2. 如果測試團隊不會測試固定文件,您可以直接在當前分支上修改文件,並將分支推送到TFS/VSTS。之後,如果其他團隊成員也需要修改同一個團隊,他們可以根據最新版本提取所做的更改並修復該文件。

對於文件的版本:

其實這就是當你提交更改每一次新版本,git會計算一個新的SHA-1校驗(提交ID),如a11bef06a3f659402fe7563abf99ad00de2209e6,您可以查看VS - >團隊資源管理器 - >分支 - >右鍵單擊分支 - >查看歷史記錄。

如果您希望版本更具可讀性,您可以爲提交添加標籤,例如在查看歷史記錄中 - >右鍵單擊提交 - >創建標籤 - >然後輸入標籤名稱,如1.0.2.23

而你並不需要一個單獨的文件來記錄文件版本,因爲git的可管理的版本爲你做的每一個變化。

要獲得測試團隊部署的版本,您可以使用以下步驟:打開發布 - >工件 - >查找構建定義和構建版本 - >在構建標籤 - >查找構建版本可以在Source版本中找到git版本。

enter image description here

enter image description here

+0

濱海嗨 - 感謝您的快速答覆,但是這不會真正解決這個問題,因爲一旦應用程序部署我們無法知道每一個測試團隊在其上運行的是什麼版本的可能性。我們需要的是C#正在使用AssemblyInfo.cs進行的操作,並且每個編譯都增加了程序集的發佈版本。我們知道JavaScript中沒有編譯步驟 - 這就是爲什麼我建議將檢入時間作爲文件加蓋版本的標記點。現在,我們怎麼能做到這一點? – SevenIron

+0

您可以在部署應用程序後找到版本,並在答案中添加了該方法。 –

+0

你現在可以找到版本嗎?答案是否幫助你解決問題? –

0

我們使用形成<major>.<minor>.<changeset>-<buildid>-<branch>版本跟蹤部署的版本。在每個部署自定義IIS響應報頭字段「X-釋放」與版本號更新,QA/PM總是可以檢查哪些代碼版本它們與在開發工具的工作: Network tab of developer tools

但是,我們使用的八達通部署所以不能告訴如何在TFS版本中執行此操作。

相關問題