CodeGym /課程 /Python SELF TW /將代碼部署到伺服器

將代碼部署到伺服器

Python SELF TW
等級 64 , 課堂 2
開放

3.1 修改代碼

就像我之前提到的,軟體開發就是修改代碼的小小過程。 這個過程已經被數百萬程式設計師進行了數十年,這使得它在所有可能的方式都得到了仔細的調試、標準化和形式化。

有一個專門的程式用來存儲代碼-Git。Git 是一個分佈式版本控制系統。 它不僅存儲代碼,還追蹤其中的所有更改,並幫助程式設計師協作開發項目,而不會相互干擾。

使用 Git,開發人員可以創建項目的不同版本(分支),存儲完整的更改歷史,甚至可以返回到過去的任何時刻。 就像代碼的時光機!Git 幫助合併更改並解決衝突,因此它成為現代開發中團隊合作的主要工具。

3.2 編譯項目

在您測試或上傳項目到伺服器之前,必須先編譯它。

項目編譯 – 是將項目的原始碼編譯成可執行程序或其他可啟動格式的過程,通常同時包含測試和部署。 這是軟體開發的一個關鍵方面,確保了程式對於使用的準備。

編譯不僅僅是編譯,雖然編譯通常是這個過程的一部分。 完成編譯後,您可能會有數十或數百個文件需要上傳到不同的伺服器。

編譯器可能是低階的,例如:

MavenGradle – 在 Java 項目中廣泛用於管理依賴項和項目編譯。

Apache Ant – 另一個用於編譯 Java 項目的工具,提供編寫編譯腳本的更大靈活性。

MSBuild – 用於編譯使用 Microsoft Visual Studio 創建的項目。

Make – 一個經典的編譯工具,使用 Makefile 定義編譯規則,特別是在 C 和 C++ 項目中受歡迎。

Webpack – 通常用於編譯 JavaScript 應用程序,管理依賴項和模塊。

GulpGrunt – 工具,幫助自動化在開發 web 應用程序時經常執行的任務,如文件壓縮和將 SCSS 編譯成 CSS。

此外,還有高階的編譯器。下面會提到。

3.3 CI/CD

CI/CD (Continuous Integration/Continuous Delivery) – 這是一種方法,涉及將所有開發分支中的更改不斷合併到主分支,並自動測試和部署這些更改。這使得可以快速發現和修復錯誤,提高了開發效率和速度。

一個最常見的,但有點過時的 CI/CD 系統是 Jenkins。如果您在一家小公司工作,那麼有80%的可能性會使用它。

Jenkins – 一個流行的自動化系統,用於持續集成和交付(CI/CD)。 Jenkins 允許自動化軟體開發中的各個階段,包括編譯,測試和部署,提高代碼質量並加快開發過程。

如果您進入大公司,那麼可能還有另外5個選擇:

TeamCity – JetBrains 的一個強大的商業系統。 提供與各種開發和測試環境的深度集成。

GitLab CI – GitLab 的一部分,提供持續集成和交付,並可通過 YAML 文件進行配置。

CircleCI – 一個雲端 CI/CD 服務,支持多個項目的自動化測試和部署。

Travis CI – 第一個雲端 CI 服務之一,被許多開源項目使用。 與 GitHub 有很好的集成。

Bamboo – Atlassian 的產品,與該公司的其他工具如 Jira 和 Bitbucket 緊密集成。

您不需要了解它們或會使用它們 – 通常公司裡有 DevOps 專家,他們會設置所有這些流程。 您只需要知道它們的存在,並在談話中提到 Jenkins、CI/CD 或「持續集成」時理解這是什麼。

3.4 將項目上傳到伺服器

寫完項目還不夠 – 它還必須出現在您的伺服器上。 實際上,將項目部署(deploy)到伺服器是將 web 應用程序放置並在伺服器上啟動的過程,以便用戶可以通過互聯網訪問它。

這個過程包括將項目文件轉移到伺服器,設置伺服器環境,數據庫,依賴項,以及網絡設置和安全配置。

那麼您覺得您的代碼會如何上傳到伺服器呢?會有某人把它傳上去嗎?還是您可能通過 SSH 連接到遠程伺服器,上傳幾個文件然後配置所有內容?放輕鬆:沒人這樣做了。現在有了 Docker。

Docker – 是一個使用容器來開發、交付和運行應用程序的平台。Docker 簡化了應用程序的創建、部署和運行,將它們與所有依賴項和環境一起打包成一個單一的緊湊對象。 這確保了在開發到測試到生產的所有階段環境的一致性。

Docker 允許將您的項目或項目們打包成 Docker 容器。這有點像虛擬機。

即使您在任何 Docker 相關論壇上稱其為「虛擬機」會遭到批評,您仍然可以將 Docker 容器視為虛擬機器。 只是輕量得多。

實際上,Docker 容器就是虛擬的「虛擬機」。 虛擬機器包括操作系統的完整副本、操作系統的內核和虛擬硬件,而 Docker 容器共享主機的內核,並且更輕便和快速。

用 Docker 部署項目大大簡化了過程,確保快速性和可靠性。項目被打包成 Docker 容器,這些容器可以輕鬆地移動並在任何支持 Docker 的系統上運行。

這消除了與伺服器環境差異相關的問題,並允許您根據負載輕鬆縮放應用程序,添加或刪除容器。 每個人都轉向了 Docker – 這很方便,也很簡單。

留言
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION