發表文章

目前顯示的是 9月, 2020的文章

使用Visual Studio Code 編輯Azure Pipline

圖片
問題 Azure Pipelines 在網頁上編輯,雖然提供了提示、Task UI輸入方式,但編輯時,卻總覺得不是很方便。例如:輸入法不小心切到中文,會有亂碼問題。 由於yaml的語法嚴謹性,換行,縮排、空格要排好,不然會直接報錯。而換行、複製/貼上時,縮排常會跑掉,所以又要一直調整......=.=。 解決方法 使用Visual Studio Code編輯YML,支援排版、語法提示等。 1.安裝extension: Azure Pipeline 2.設定Azure Pipeline與 *.yml的檔案關聯, 進入 Command Palette,輸入Change Language Mode  針對*.yml設定為Azure Pipelines     設定完成 編輯時會出現相闗提示 其它/參考 Visual Studio Code 編輯Azure DevOps Pipeline的YAML 這裡有教到如何連接Azure Piple直接建立檔案,但我沒試成功,只有用編輯器提示功能。

Jenkins無法更新版本

圖片
問題 公司有2台CI Server,一台正式區,一台測試區, 從上星期開始,測試區主機一直無法更新,另一台正式區的卻可以。一開始以為是地理環境,連的Jenkins Update Center不同,才會有此情形,所以放先不管它。 這兩天再次執行更新,仍然會出現錯誤,訊息如下,找不到憑證。 sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target at sun.security.provider.certpath.SunCertPathBuilder.build(Unknown Source) at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(Unknown Source) at java.security.cert.CertPathBuilder.build(Unknown Source) Caused: sun.security.validator.ValidatorException: PKIX path building failed at sun.security.validator.PKIXValidator.doBuild(Unknown Source) at sun.security.validator.PKIXValidator.engineValidate(Unknown Source) at sun.security.validator.Validator.validate(Unknown Source) at sun.security.ssl.X509TrustManagerImpl.validate(Unknown Source) at sun.security.ssl.X509TrustManagerImpl.checkTrusted(Unknown Source) at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(Unknown Source) .... 原因 一開始搜尋時,找到

使用Azure Pipeline發佈Artifacts

圖片
前言 之前寫過一篇 使用Azure DevOps Artifacts來建立自用Nuget Source ,發行的方式,在本機使用Power Shell。一開始頻繁修改,對發行方式還很熟,沒什麼問題。 但...隨著時間一久就開始有了以下問題: 太久沒更新程式! 要再發行時,就會頓時卡卡的,需要再去溫習一下文章,才知如何下手。 同事也要更新程式,但不知如何發行套件.....雖有文章,但....還是不如作者在旁。 以上都是浪費大好青春的瑣事,這兩天剛好看到Azure Pipeline的介紹,就使用它來完成這....雜事吧。 使用方式 1.建立Pipeline 下一步:選擇git來源後,會產生一個Pipeline YAML,嗯...看不懂沒關係,右方的區塊有小助手會幫你,有各式各樣工作可以選擇,例如: VsBuild、MsBuild、Azure Publish等 2.修改YAML,以下為發行到Azure DevOps專案內的Artifacts # ASP.NET Core (.NET Framework) # Build and test ASP.NET Core projects targeting the full .NET Framework. # Add steps that publish symbols, save build artifacts, and more: # https://docs.microsoft.com/azure/devops/pipelines/languages/dotnet-core trigger: none pool:   vmImage: 'windows-latest' variables:   solution: '**/*.sln'   buildPlatform: 'Any CPU'   buildConfiguration: 'Release' steps: - task: NuGetToolInstaller@1 - task: NuGetCommand@2   displayName: 'Restore'   inputs:     restoreSolution: '$(solution)' - task: VSBu

.Net Core 無法發行到IIS網站

圖片
前言   之前都是使用MsDeploy來發行.net framework專案,部份專案改用.Net Core後,部署到IIS,遇到一些無法發行的問題,例如:dll使用中,無法更新、驗證錯誤等。 執行環境 Window 10 .Net Core 3.1 Visual Studio 2019 Azure DevOps 問題排解 命令列,透過發行檔發行,需使用管理權限執行。 dotnet build -c Release /p:DeployOnBuild=true /p:PublishProfile=iis-remote  /p:Password=xxxx 1.dll使用中,無法更新 解決方式: 使用app_offline.htm,讓應用程式先停止。 在發行檔加入如下即可:     <EnableMSDeployAppOffline>true</EnableMSDeployAppOffline> 微軟文件寫道 ,專案檔上引用Microsoft.NET.Sdk.Web,在發行時就會自動加入app_offline並在發行後移除。             但我看專案明明就有引用,但就是試不出來....。--> 此方式失敗 ,記錄備查 ps:在發行檔pubxml也試用,但沒用。 2.發行到遠方主機,出現憑證錯誤。 MSDEPLOY : error Code: ERROR_CERTIFICATE_VALIDATION_FAILED 解決方式: 在發行檔加入如下:     <AllowUntrustedCertificate>true</AllowUntrustedCertificate> 3.在Azure DevOps 使用Pipeline發行時,出現SDK錯誤 ##[error]C:\Program Files\dotnet\sdk\3.1.302\Sdks\Microsoft.NET.Sdk\targets\Microsoft.PackageDependencyResolution.targets(234,5): Error NETSDK1047: Assets file 'D:\a\1\s\Nop.Web\Server\obj\project.assets.json' doesn't have a