在現代 Web 應用程式開發流程中,自動化佈署至雲端平臺已成為不可或缺的一環。本文將詳細說明如何設定本地電腦與 AWS EC2 例項的 SSH 連線,佈署 Calculator.html 應用程式,並運用 Jenkins 自動化建置與佈署流程。同時,我們也會探討 Jenkins CLI 的使用、遠端 API 操作、Python-Jenkins 套件整合以及分享函式庫的應用,以提升整體佈署效率和程式碼重複使用性。透過這些技術,開發團隊可以更有效率地管理和佈署 Web 應用程式,縮短開發週期並提升產品交付速度。
設定本地電腦與EC2例項之間的SSH連線
為了能夠遠端存取EC2例項,設定SSH連線是必要的步驟。以下是設定SSH連線的步驟:
- 啟用SSH連線:首先,確保您的EC2例項已經啟用SSH連線。您可以在AWS管理主控臺中檢查例項的安全群組設定,確認是否已經允許SSH連線。
- 下載私鑰:下載您用於連線到EC2例項的私鑰(.pem檔案)。這個私鑰將用於驗證您的身份。
- 設定SSH使用者端:在您的本地電腦上設定SSH使用者端。您可以使用預設的SSH使用者端軟體,如OpenSSH,或是其他第三方軟體,如PuTTY。
- 連線到EC2例項:使用SSH使用者端連線到您的EC2例項。您需要提供例項的公有IP地址或DNS名稱、使用者名稱和私鑰檔案。
複製Calculator.html檔案到EC2例項
為了佈署Calculator Web應用程式,需要將Calculator.html檔案複製到EC2例項。以下是複製檔案的步驟:
- 使用SFTP或SCP:使用SFTP或SCP協定將Calculator.html檔案從本地電腦傳輸到EC2例項。
- 指定目錄:指定Calculator.html檔案要存放的目錄。通常,這個目錄是Web伺服器的根目錄。
從本地電腦上的瀏覽器存取Calculator.html
為了測試Calculator Web應用程式,需要從本地電腦上的瀏覽器存取Calculator.html檔案。以下是存取檔案的步驟:
- 輸入URL:在瀏覽器的位址列中輸入EC2例項的公有IP地址或DNS名稱,後面加上Calculator.html檔案的路徑。
- 檢查應用程式:檢查Calculator Web應用程式是否正常運作。
建立Jenkins工作以佈署Calculator Web應用程式
為了自動化佈署流程,需要建立Jenkins工作以佈署Calculator Web應用程式。以下是建立工作的步驟:
- 安裝Jenkins:安裝Jenkins伺服器和必要的外掛。
- 建立工作:建立一個新的Jenkins工作,以佈署Calculator Web應用程式。
- 設定工作:設定工作的詳細內容,包括原始碼管理、建置觸發器和佈署步驟。
修改Selenium框架中的Calculator應用程式URL
為了讓Selenium框架能夠正確地測試Calculator Web應用程式,需要修改框架中的應用程式URL。以下是修改URL的步驟:
- 檢查框架程式碼:檢查Selenium框架的程式碼,找到 Calculator Web應用程式URL的定義。
- 修改URL:修改URL為EC2例項的公有IP地址或DNS名稱,後面加上Calculator.html檔案的路徑。
內容解密:
以上步驟描述瞭如何設定本地電腦與EC2例項之間的SSH連線、複製Calculator.html檔案到EC2例項、從本地電腦上的瀏覽器存取Calculator.html、建立Jenkins工作以佈署Calculator Web應用程式和修改Selenium框架中的Calculator應用程式URL。這些步驟都是佈署和測試Calculator Web應用程式的重要環節。
@startuml
:設定SSH連線; --> :複製Calculator.html檔案;
:B; --> :從本地電腦上的瀏覽器存取Calculator.html;
:C; --> :建立Jenkins工作以佈署Calculator Web應用程式;
:D; --> :修改Selenium框架中的Calculator應用程式URL;
@enduml
圖表翻譯:
此圖表描述了佈署和測試Calculator Web應用程式的流程。首先,需要設定本地電腦與EC2例項之間的SSH連線。接下來,需要複製Calculator.html檔案到EC2例項。然後,可以從本地電腦上的瀏覽器存取Calculator.html。另外,需要建立Jenkins工作以佈署Calculator Web應用程式。最後,需要修改Selenium框架中的Calculator應用程式URL,以便正確地測試應用程式。
Jenkins 命令列介面操作
Jenkins是一種流行的自動化伺服器,提供了強大的命令列介面(CLI)來管理和操作。以下將介紹如何使用Jenkins CLI進行各種操作。
建立工作使用Jenkins CLI
首先,您需要使用Jenkins CLI建立一個新工作。您可以使用以下命令:
jenkins-cli create-job <job_name>
這將建立一個名為 <job_name> 的新工作。
基本驗證(Username-Password/API Token)
Jenkins CLI支援基本驗證,您可以使用以下命令進行驗證:
jenkins-cli auth <username> <password>
或者,您可以使用API Token進行驗證:
jenkins-cli auth <username> <api_token>
使用SSH進行驗證
您也可以使用SSH進行驗證。首先,您需要生成一個SSH金鑰,並將其新增到Jenkins伺服器中。然後,您可以使用以下命令進行驗證:
jenkins-cli auth <username> <ssh_key>
建立工作使用SSH驗證
一旦您已經驗證,您就可以使用SSH驗證建立工作。您可以使用以下命令:
jenkins-cli build <job_name> -ssh
匯出所有工作
您可以使用以下命令匯出所有工作:
jenkins-cli export-all-jobs
匯入所有工作
您可以使用以下命令匯入所有工作:
jenkins-cli import-all-jobs
圖表翻譯:
@startuml
:建立工作; --> :基本驗證;
:B; --> :使用SSH進行驗證;
:C; --> :建立工作;
:D; --> :匯出所有工作;
:E; --> :匯入所有工作;
@enduml
內容解密:
上述圖表展示了Jenkins CLI的操作流程。首先,建立一個新工作,然後進行基本驗證或使用SSH進行驗證。接下來,建立工作並匯出所有工作。最後,匯入所有工作。這個流程展示了Jenkins CLI的強大功能和靈活性。
Jenkins 遠端存取 API
取得現有 Jenkins 工作的組態
Jenkins Remote API 提供了一種方便的方式來存取和管理 Jenkins 工作。使用此 API,您可以輕鬆地取得現有 Jenkins 工作的組態,包括工作名稱、描述、觸發器和構建步驟等。
取得工作組態的步驟
- 啟用 Jenkins Remote API:首先,確保您的 Jenkins 伺服器已啟用 Remote API。您可以在 Jenkins 伺服器的設定頁面中啟用它。
- 使用 API 端點:Jenkins 提供了多個 API 端點來存取工作組態。例如,您可以使用
http://您的Jenkins伺服器:8080/job/工作名稱/config.xml來取得工作的組態檔案。 - 解析 XML 檔案:取得組態檔案後,您需要解析 XML 檔案以提取所需的資訊。
建立新的 Jenkins 工作
使用 Jenkins Remote API,您也可以建立新的 Jenkins 工作。這需要您提交一個包含工作組態的 XML 檔案給 Jenkins 伺服器。
建立工作的步驟
- 準備工作組態檔案:建立一個包含工作組態的 XML 檔案。這個檔案應該包括工作名稱、描述、觸發器和構建步驟等。
- 提交組態檔案:使用
http://您的Jenkins伺服器:8080/createItem端點提交組態檔案給 Jenkins 伺服器。 - 設定工作引數:如果您的工作需要引數,您需要在提交組態檔案時設定這些引數。
觸發引數化的 Jenkins 工作
如果您的 Jenkins 工作需要引數,您可以使用 Jenkins Remote API 來觸發這些工作。
觸發引數化工作的步驟
- 準備觸發請求:建立一個包含工作名稱和引數的請求體。
- 提交觸發請求:使用
http://您的Jenkins伺服器:8080/job/工作名稱/buildWithParameters端點提交觸發請求給 Jenkins 伺服器。 - 設定觸發引數:在提交觸發請求時,設定所需的引數。
使用 Python-Jenkins 套件
Python-Jenkins 是一個方便的套件,允許您使用 Python 來與 Jenkins 伺服器互動。您可以使用它來建立、管理和觸發 Jenkins 工作。
使用 Python-Jenkins 的步驟
- 安裝 Python-Jenkins:首先,安裝 Python-Jenkins 套件。
- 連線 Jenkins 伺服器:使用
jenkins.Jenkins類別連線您的 Jenkins 伺服器。 - 建立和管理工作:使用
jenkins.Jenkins物件建立和管理 Jenkins 工作。
在 Jenkins Pipeline 中使用分享函式庫
分享函式庫是 Jenkins Pipeline 中的一個強大功能,允許您在多個工作中分享程式碼。
建立分享函式庫的步驟
- 建立 Groovy 檔案:建立一個包含分享函式庫程式碼的 Groovy 檔案。
- 推播分享函式庫檔案:將分享函式庫檔案推播到 GitLab 倉函式庫中。
- 在 Pipeline 中使用分享函式庫:在您的 Jenkins Pipeline 中使用
library步驟來載入分享函式庫。
從系統整合的視角來看,本文涵蓋了從本地開發環境到雲端伺服器,再到自動化佈署和測試的完整流程。透過SSH建立安全連線、利用SCP/SFTP傳輸檔案、設定Jenkins持續整合/持續佈署流程,以及Selenium自動化測試框架的整合,展現了現代軟體開發流程的典型模式。然而,單純複製HTML檔案到伺服器的方式並非最佳實務,缺乏版本控制和程式碼管理機制。未來應考慮整合Git等版本控制系統,並採用Docker等容器化技術,提升佈署效率和應用程式可移植性。對於重視自動化和效率的團隊,本文提供的Jenkins CLI和遠端API操作,以及分享函式庫的應用,能有效降低維運成本並提升團隊協作效率。玄貓認為,掌握這些技術和工具,對於構建現代化、自動化的軟體交付Pipeline至關重要,同時也應持續關注新興技術,例如基礎設施即程式碼(IaC),以進一步提升效率和可靠性。