從0-1搭建一個自動化部署平臺

帝莘發表於2024-03-10

以Java服務為例,說明如何搭建一個自動化部署平臺DevOps。

第一步:準備基礎設施

  1. 伺服器:準備至少一臺用於部署的伺服器,推薦使用雲服務提供商的虛擬機器或容器服務。
  2. 作業系統:安裝Linux作業系統,如Ubuntu、CentOS等。
  3. 網路:確保伺服器可以訪問網際網路,以便下載所需的軟體和工具。

第二步:安裝和配置必要的軟體

  1. 安裝Java Development Kit (JDK):

    sudo apt update  
    sudo apt install openjdk-11-jdk  # 安裝Java 11,可以根據需要選擇其他版本

    配置環境變數(如果需要):

    echo 'export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64' >> ~/.bashrc  
    echo 'export PATH=$JAVA_HOME/bin:$PATH' >> ~/.bashrc  
    source ~/.bashrc
  2. 安裝Maven(如果專案使用Maven構建):

    sudo apt install maven
  3. 版本控制系統:安裝Git,用於程式碼管理。

    sudo apt install git
  4. 安裝Docker(用於容器化部署):

    sudo apt update  
    sudo apt install apt-transport-https ca-certificates curl software-properties-common  
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -  
    sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"  
    sudo apt update  
    sudo apt install docker-ce

    啟動Docker服務:

    sudo systemctl start docker  
    sudo systemctl enable docker

    將使用者新增到docker組(以便非root使用者執行Docker命令):

    sudo usermod -aG docker $USER

    重新登入或重啟系統以使組更改生效。

  5. 安裝Docker Compose(用於多容器編排):

    sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose  
    sudo chmod +x /usr/local/bin/docker-compose

    注意:上面的命令安裝的是特定版本的Docker Compose,請根據實際情況選擇最新版本。

第三步:安裝和配置Jenkins

  1. 下載Jenkins:從Jenkins官網下載適用於你的作業系統的Jenkins WAR檔案。

    wget https://get.jenkins.io/war-stable/latest/jenkins.war
  2. 執行Jenkins:由於Jenkins可以作為一個獨立的Java應用程式執行,你可以使用以下命令啟動它(在生產環境中,你可能會將其配置為服務):

    java -jar jenkins.war --httpPort=8080

    首次啟動時,Jenkins會生成一個初始密碼,你需要從控制檯輸出或日誌檔案中檢索它。

  3. 配置Jenkins:透過瀏覽器訪問Jenkins的URL(通常是http://<伺服器IP>:8080),並按照設定嚮導完成安裝和配置。這包括安裝推薦的外掛、建立管理員使用者等。

  4. 安裝必要的Jenkins外掛:透過Jenkins的外掛管理介面安裝所需的外掛,如Git外掛、Maven外掛、Docker外掛等。

第四步:配置自動化流程

  1. 在Jenkins中建立一個新任務:配置原始碼管理為Git,並提供你的Java專案的倉庫URL。

  2. 配置構建觸發器:設定輪詢SCM或Webhook,以便當程式碼變更時自動觸發構建。

  3. 配置構建步驟:新增Maven構建步驟,指定pom.xml檔案和構建目標(如clean package)。

  4. 配置後構建步驟:新增Docker構建和釋出步驟。編寫Dockerfile以定義你的Java應用的容器映象,並在Jenkins中配置Docker構建和推送映象到Docker倉庫的命令。

    例如,Dockerfile可能如下所示:

    FROM openjdk:11-jre-slim  
    COPY target/myapp.jar /usr/app/myapp.jar  
    WORKDIR /usr/app  
    CMD ["java", "-jar", "myapp.jar"]

    在Jenkins中,你可以使用Docker外掛來構建和推送映象,或者使用Shell執行Docker命令。

  5. 部署應用:配置Jenkins以使用Docker Compose或Kubernetes部署應用。編寫必要的部署檔案(如docker-compose.yml或Kubernetes部署YAML),並在Jenkins中新增相應的部署步驟。

  6. 儲存並應用配置:儲存Jenkins任務的配置並應用更改。

第五步:測試和最佳化

  1. 進行構建和部署測試:手動觸發Jenkins任務以執行完整的構建和部署流程。觀察控制檯輸出和日誌以確認每個步驟是否按預期執行。

  2. 最佳化構建和部署過程:根據測試結果調整構建指令碼、Jenkins配置和部署檔案,以最佳化構建和部署過程。這可能包括減少構建時間、提高部署可靠性等。

  3. 設定持續監控和日誌收集:配置監控工具以收集伺服器和應用的效能指標、日誌等資訊。這有助於及時發現問題並進行故障排除。

  4. 文件化和培訓:編寫文件記錄自動化部署平臺的搭建過程和配置細節,並對團隊成員進行培訓,以確保他們瞭解如何使用和維護該平臺。

請注意,上述步驟是一個簡化的示例,實際搭建過程中可能涉及更多的細節和複雜性。務必根據你的具體需求和專案規模進行調整和擴充套件。

相關文章