你真的知道什麼叫部署嗎

2021-10-07 22:22:48 字數 1788 閱讀 5591

先擺上原出處

原作者是這位大佬

對於程式設計師來說,部署這個詞已經是耳熟能詳的了,你可能會覺得很可笑,連部署都不知道一定是個超級小白。

沒錯,對於剛入職不久的我來說的確還是個小白,雖然之前無數次聽過部署這個概念,大概知道是啥,但老實說,如何解釋部署,部署過程到底做了什麼我整個都是懵的,可能就是傳說中的「只可意會不可言傳」吧。

人有時候就是這樣不到非要用的時候永遠都不知道自己不知道什麼。

以前我知道的部署是將開發出的軟體通過某種方式放到乙個遠端伺服器上,然後在遠端伺服器上進行環境的配置使得**能夠工作,在這中間如何去做一概不知,更不知道這其實只是部署中的一種方式而已。

一切源於最近的乙個作業,要求使用jenkins對乙個git專案進行部署,由於只是簡單的作業,所以只需要本地部署即可。

其實我一開始並不清楚要求的是本地部署,因為就不知道還有什麼本地部署,嗯,感覺自己宛如乙個智障。後來完成作業過程中遇到了一些問題,在求助他人的時候才發現原來自己一直在誤區裡面。

咳咳,開始說正事了!

所謂部署,就是讓開發出的產品能夠在某一環境中執行起來

至於這個環境是什麼,根據具體情況而定,可以是乙個公司買的實體伺服器,可以是類似aws提供的雲平台服務,也可以是本地環境,所以相應地部署就分為遠端部署本地部署

遠端部署很容易理解,因為是很常見的部署形式,對於本地部署,至少我最初是很難理解的,因為在我看來本地進行開發工作的時候專案本來就是可以正常工作的,為什麼還要多此一舉地去進行本地部署呢,這跟開發環境有什麼區別呢,完全不能理解呀。

一般的軟體都會存在至少兩個階段,開發和部署。

開發工作是在本地進行的,這時我們會使用一些編輯器,例如webstorm,vscode等等類似的ide,但是這個時候專案只能在我們本地環境才能正常工作,別人的電腦上是訪問不到的,要想別人也能夠正常使用我們的專案就得進行部署

部署剛剛已經提到過,就是使得軟體在某一環境中執行起來,這個過程中會將源**生成可執行的軟體包,然後將軟體包放到要部署的環境中,通過一些配置使得這個軟體包在目標環境上也能夠正常工作。

因為對於乙個專案來說,不同人群需要的「產品」型別是不一樣的,假設我們要為某乙個公司開發乙個**,開發人員關心的是源**,而專案管理人員要的是乙個可執行的軟體包,然而客戶要的是能夠開啟網頁就能顯示預期內容的頁面。

從源**到能夠看到具體的頁面就是乙個部署的過程。

因此部署要做的工作大致分為三步:

知道了這些再去看開發本地部署的確是有區別的,儘管都是在同一臺機器上,但是本質不同,和遠端部署相比只是目標環境不同而已,但依舊叫做部署。

部署的工具也有很多,在我本次的作業中使用的是jenkins,通過在本地啟動乙個虛擬機器然後執行jenkins,將其作為目標環境使用jenkins的pipeline進行部署,因為是在一台機器上故而是本地部署了。

一般來說,我們提到的部署都是遠端部署,因為畢竟是要真正地投入使用嘛,如果只是學習就可以本地部署啦。

你真的知道 strtotime 嗎?

課堂小提問 echo date y m d strtotime 1 month strtotime 2017 03 31 輸出什麼?echo date y m d strtotime 1 month strtotime 2017 08 31 輸出又是什麼?現在公布正確答案了 echo date y ...

你真的知道HTML嗎?

經過幾次面試當中,被問及到最基礎的東西,沒想到回答不上來,有點蛋痛,今天特地的複習了一下!內容 1.doctype 文件型別 的作用是什麼?有多少文件型別?2.瀏覽器標準模式和怪異模式之間的區別是什麼?3.html dhtml xhtml是什麼?以及它們的區別是什麼?一 doctype 文件型別 的...

程式設計 你真的知道開源嗎?

開源,opensource 全稱為開放源 開源就是要使用者利用源 在其基礎上修改和學習的,但開源系統同樣也有版權,同樣也受到法律保護。你對原始碼進行二次開發進行修改bug修復等版權可以標為自己開發。開源被非盈利軟體組織 美國的opensourceinitiative協會 註冊為認證標記,並對其進行了...