发信人: netghost (Up to Isomorphism), 信区: Programming
标 题: Java(或者python,perl)軟件方案deploy的歷史回顧。
发信站: BBS 未名空间站 (Fri Feb 19 15:45:50 2021, 美东)
deploy這件事情看起來簡單,但的確是大部分Java方案的頭痛的地方:到底怎麼
deliver?如果同時還要deliver JVM那麼所謂編譯一次到處運行就成了一個笑話,所以
早年當Java程序員還有點堅持的時候就是直接deliver Jar的,但是結果當然也知道了
,就是無窮無盡的煩惱。不僅各個操作系統JVM有不兼容的問題,JVM不同版本也有不兼
容的問題,此外還有M$這種和你搗亂的JVM存在。所以很長一段時間,Java就是慢,崩
的代名詞,很多時候都不一定是Java程序員的問題,而是廚師放的是醬油,但是擋不住
別人賣給你的醬油裏面裝的是醋。
所以到某個點上,Java開發人員也知道死要面子活受罪沒有意義,所以就就和jar一起
shipjvm。但是jvm一般來說有一堆東西,並不是簡單copy幾個文件就完了的,同時因爲
Java開發團隊一般都對Unix的系統瞭解不多,所以怎麼分發這件事情就成了巨大的麻煩
每個系統的底層庫的問題都可以造成jvm的問題,而且要解決這個問題,只會寫Java是沒
有任何辦法的。雖然其實UNIX下面早就有標準接口可以解決這個問題:只要你知道編譯
鏈接的原理,會寫幾行C和shell。
直到docker這個東西出來了,這些人立刻就像撿到了寶貝,因爲知道怎麼不懂UNIX也可
以相對容易的deploy Java的方案了,which我承認的確是部分程度上的確解決了他們的
問題,但是,真的至於嗎?如果稍微認證瞭解一下UNIX program是怎麼運行的,很多年
前就能有出路。
這件事情也apply到python,perl所有這種一堆dependency和運行時環境的程序,賣起
來都有一堆這種問題。
https://killer.sh Pre Setup Once you've gained access to your terminal it might be wise to spend ~1 minute to setup your environment. You could set these: alias k = kubectl # will already be pre-configured export do = "--dry-run=client -o yaml" # k get pod x $do export now = "--force --grace-period 0" # k delete pod x $now Vim To make vim use 2 spaces for a tab edit ~/.vimrc to contain: set tabstop=2 set expandtab set shiftwidth=2 More setup suggestions are in the tips section . Question 1 | Contexts Task weight: 1% You have access to multiple clusters from your main terminal through kubectl contexts. Write all those context names into /opt/course/1/contexts . Next write a command to display the current context into /opt/course/1/context_default_kubectl.sh , the command should use kubectl . Finally write a second command doing the same thing into ...
Comments
Post a Comment
https://gengwg.blogspot.com/