Azure WebSite for Java 的問答
幾個月前和 G 先生討論 Java 程式想要搬到 Azure 的 WebSites (PaaS) 的 Tomcat 上有一些疑問,想說很多非 .NET 的朋友也會有類似的問題。就一併整理如下供參考
1. Azure Web啟動後如何觀察tomcat7的log (Log的位置,或有管理介面或工具可供觀察)
Tomcat7 的log 設定預設會存放在
可以使用 https://{site name}.scm.azurewebsites.net 來進到環境管理頁面。
2. 在Azure Web上佈署Java Web Application至tomcat7後,如果想運用log4j產生log儲存在Azure Storage上可以如何做?
(程式可用什麼framework或者有其他建議做法?)
這裡有兩種方式,其中一種是透過 Application Insight 來收集頁面或是系統上的 log ,另外一種則是傳統的方式寫 log 檔儲存。當然也可以混用
一、Application Insight 最大的好處是除了一般的 Event , Exception 外連 Page View 或是指定的 Trae 項目都可以客製化收集進來直接有「報表」的方式呈現
http://azure.microsoft.com/zh-tw/documentation/articles/app-insights-java-trace-logs/
二、傳統的方式有鑑於要將 log 找地方儲存因此需要有 Azure Storage 的空間存放,可以考慮將 log4j 透過 Azure SDK for JAVA 的套件做一些調整即可。這個方式可以確保您的log 檔不會因為service 搬移而消失。
Download the Azure SDK for Java
http://azure.microsoft.com/zh-tw/documentation/articles/java-download-windows/
How to use Blob storage from Java
http://azure.microsoft.com/zh-tw/documentation/articles/storage-java-how-to-use-blob-storage/
3. Azure Web for Java 是否有開發者社群或參考文件可供開發人員參考
http://azure.microsoft.com/zh-tw/get-started/
Java Developer Center
http://azure.microsoft.com/zh-tw/develop/java/
Azure Web Site 的開發者論壇
https://social.msdn.microsoft.com/Forums/zh-tw/home?forum=2199&filter=alltypes&sort=lastpostdesc
4. Azure Web 佈署是否會有記錄的歷程可以查詢
使用 FTP 的方式是沒有辦法知道每一次檔案更新的歷程,建議可以考慮使用 Team Foundation Server Release Management 的自動化部署 或是 Git 的版控派送。
RM 的部署是有做到 自動化建置後再將 WAR 檔指定 copy 到指定位置上
http://www.dotblogs.com.tw/franma/archive/2014/06/16/145581.aspx
而 Git 的部署後就可以看到每一次的部署記錄和人員
http://www.dotblogs.com.tw/franma/archive/2014/12/27/147817.aspx
Continuous deployment using GIT in Azure App Service
http://azure.microsoft.com/zh-tw/documentation/articles/web-sites-publish-source-control/
ps.. 雖然 git 部署來解決上版記錄的問題,若是系統上版有需要「簽核」或是更複雜的上版程序的話,那麼就會建議用 Release Management 。