Command Line Deploy on NetWeaver
前言
要把 ear 檔給 deploy 到 NetWeaver, 標準的作法應該是使用 SDM Remote GUI Client , 使用上是不困難, 但有幾個缺點:
- 雖然說是 Remote GUI, 但是基本上你的環境得有安裝 NetWeaver 才行, 也不知道能不能只單單安裝 SDM. 因此我都是用 VNC 連上去再做 deploy
- GUI 的好處是簡單, 缺點就是你如果常常要做這個動作, 然後一直在選檔案, 執行, 確認, ... 等等按來按去, 按久了也真的滿累的
- 這個 GUI 有個很怪的地方, 沒法 re-deploy, 也就是說, 如果要更新版本時, 得先把舊版 un-deploy, 然後再 deploy, 這樣真的滿不方便的
Command line deploy 的方法
因此呢, 需要研究如何在 NetWeaver 上使用 command line deploy. 研讀了一下使用手冊 (裝好 SDM 就有了, 放在 /program/doc/SDMCommandLineDoc***_en_final.pdf), 指令如下
步驟1: 把 SDM 停下來 (*** 代表你 instance 的名字, 通常是三個大寫字元)
1/usr/sap/\*\*\*/JC00/SDM/program/StopServer.sh
步驟2: 把模式改成 standalone, 這樣才能做 command line deploy.
1sdm jstartup sdmhome=/usr/sap/\*\*\*/JC00/SDM/program mode=standalone
步驟3: 執行這個指令, 就可以 deploy 了. updateversions 這個參數的目的在於, 如果版本一樣, 還是可以 re-deploy.
1cd /usr/sap/\*\*\*/JC00/SDM/program java -jar bin/SDM.jar deploy file=/tmp/AP.ear updateversions=all
要注意的是, 上面步驟執行之後, Remote GUI 就不能使用了, 得使用下列指令把模式切回來才能使用 GUI.
1sdm jstartup sdmhome=/usr/sap/\*\*\*/JC00/SDM/program mode=standalone
2/usr/sap/\*\*\*/JC00/SDM/program/StartServer.sh
至於 undeploy, 執行下列指令即可, compname/compvendor 請參考 ear 檔裡面的 SAP_MANIFEST.MF
1java -jar bin/SDM.jar undeploy compname=Application\_Name compvendor=test.com
以上是 NetWeaver 7.0 的作法, 7.1 不知道會不會有什麼不同.
參考:
NetWeaver Software Deployment Manager