在pipeline中使用 Replace tokens
 啥是Replace tokens?  為何要在Pipeline中使用Replace tokens?  Replace tokens是一個DevOps的Pipeline設計中,我相當常被問到的需求。客戶常常會問我:『 如何在Pipeline中,把檔案(程式碼)裡面的某些字換掉。 』  我第一次被這樣問的時候,覺得有點怪,客戶為何要這樣做?  後來發現,原來是因為,同仁把敏感的資料(例如帳號密碼、token、連線字串…etc.)寫在設定檔(其實也不好)或程式碼(萬萬不可)裏面,然後就這樣commit到repo中。  全世界都嘛知道,不應該在repo中存放正式機的連線字串帳密或正式token,所以一般來說,開發人員commit的程式碼中,是不會放正式帳密的。然而,我們的Pipeline採全自動化佈署,需要一口氣自動建置、佈署到正式機,那能不能在Pipeline中,安全地把這些位於程式碼或設定檔中的機密資料換掉,換成正式機的帳密呢?  當然可以。  使用的就是Replace tokens。  舉例來說,底下這個設定檔內容,原本JSON裡面放的是帳號密碼,或是token之類的機密資訊,你可以把它改成這樣:   以 #{…}# 框起來,裡面放 變數 的名稱。把這樣的設定檔commit/push到正式repo的主要分支。  接著,在Pipeline的build之前,使用Replace tokens這個task:   它可以將特定檔案中,具有#{…}# 框起來的文字,都換成Pipeline中的環境變數。  所以,別忘了你還要設定相對應名稱的環境變數,例如,我們為Pipeline設定底下這樣的變數:   如此一來,上面程式碼中的 #{token}# 就會被換掉:  {   "token": "#{token}#", //會被換掉   "tempNote": "#{tempNote}#" //會被換掉 }  在build之前,它就會被換成Pipeline中Variables中的值,然後才進行build的動作。  如此一來,就可以在設計Pipeline的時候,把正式機的帳密等機密資料,塞入build好的artifact中,填入正式環境之中。  這樣可以達到開發人員無需經手正式環境帳密的效果。  總的來說,R...