全部產品
Search
文件中心

CloudOps Orchestration Service:本地構建部署

更新時間:Jan 09, 2025

如果您需要從Git拉取代碼,並在單台ECS上完成本地的構建與部署,您可以參見本文檔完成本地構建與部署。

說明

本樣本模板主要用於在單台ECS本地構建並部署應用的情境,如果需要把構建物發布到倉庫或者部署到多台ECS,請參考其他相應的樣本模板,例如構建鏡像至ACR構建鏡像至ACR並部署構建軟體包至OSS以及構建軟體包至OSS並部署

前提條件

樣本模板流程

  1. 由您指定代碼源(例如OSSObject Storage Service或Git),OOS將為您指定的代碼源產生臨時連結,用於後續代碼拉取。

  2. 自動拉取代碼,並執行構建和部署的指令碼。

使用樣本

代碼源準備

本樣本使用了一個Spring Boot的樣本專案代碼來示範,代碼已上傳到Gitee和GitHub倉庫,如果想要使用,請先fork到自己的倉庫。代碼地址:

建立模板

  1. 登入CloudOps Orchestration Service控制台。

  2. 在左側導覽列,選擇自動化任務 > 自訂工作範本,單擊建立模板

  3. 構建部署地區,選擇本地構建部署,單擊下一步

  4. 流程配置頁簽下,填寫模板參數,然後單擊建立模板

    1. 指定您的代碼源,為下一步拉取代碼做準備,產生一個臨時授權連結。

      本樣本以Gitee為代碼源,填寫該代碼源的所有者組織倉庫以及分支等參數。

      說明
      • 如果您未授權阿里雲從您的GitHub/Gitee讀取您的代碼倉庫,請單擊前往授權來完成授權操作。

      • 如果您之前已經Fork範例程式碼,您只需下拉倉庫,會自動展示您帳號下所有倉庫,請選擇Fork的範例程式碼倉庫。

      2024-12-16_11-42-41.png

    2. 拉取代碼,構建並部署應用。

      選擇您想要構建並部署的ECS執行個體,代碼源選擇git,代碼源連結引用了上一任務的輸出結果(預設為authorizedUrl),本文僅提供一個構建部署指令碼的樣本,您可按需將該樣本換成適合自己專案的指令碼。

      部署指令碼.png

      部署指令碼樣本(Alibaba Cloud Linux 3)

      ### Build jar file.
      set -e
      yum install -y maven-3.5.4
      mvn package
      
      ### Stop the previous version of the application (if any) and deploy the current version.
      PID=$(ps -ef | grep "sample-spring-1.0-SNAPSHOT.jar" | grep -v "grep" | awk '{print $2}')
      if [ -n "$PID" ]; then
          kill -9 $PID
      fi
      java -jar target/sample-spring-1.0-SNAPSHOT.jar &

      部署指令碼樣本(Ubuntu)

      ### Build jar file.
      set -e
      apt install -y maven
      mvn package
      
      ### Stop the previous version of the application (if any) and deploy the current version.
      PID=$(ps -ef | grep "sample-spring-1.0-SNAPSHOT.jar" | grep -v "grep" | awk '{print $2}')
      if [ -n "$PID" ]; then
        kill -9 $PID
      fi
      java -jar target/sample-spring-1.0-SNAPSHOT.jar &

      部署指令碼樣本(CentOS)

      ### Build jar file.
      set -e
      yum install -y maven
      mvn package
      
      ### Stop the previous version of the application (if any) and deploy the current version.
      PID=$(ps -ef | grep "sample-spring-1.0-SNAPSHOT.jar" | grep -v "grep" | awk '{print $2}')
      if [ -n "$PID" ]; then
        kill -9 $PID
      fi
      java -jar target/sample-spring-1.0-SNAPSHOT.jar &
      說明

      執行模板後,這裡的代碼會被拉取到一個檔案夾下(路徑為/root/workspace/執行模板任務ID),構建部署指令碼也會以該檔案夾為工作路徑,如果需要切換到其他路徑,請在指令碼中完成。image

    3. 填寫完畢,單擊建立模板

執行模板

  1. 登入CloudOps Orchestration Service控制台。

  2. 在左側導覽列,選擇自動化任務 > 自訂工作範本

  3. 自訂工作範本頁面,找到已建立的模板,單擊對應操作列下的建立執行

  4. 基本資料階段,配置相應參數,單擊下一步:設定參數

  5. 設定參數階段,如果沒有可配置的參數,直接單擊下一步:確定

  6. 單擊建立

    在任務執行管理頁面,執行狀態顯示為成功時,表示模板執行任務已完成。

    執行模板結果-zh.png

  7. 登入Elastic Compute Service控制台

  8. 找到您選擇的ECS執行個體並遠端連線該執行個體。

    具體操作,請參見使用Workbench工具以SSH協議登入Linux執行個體

  9. 執行以下命令,確認本地構建部署是否成功。

    curl http://localhost:8080/hello

    看到返回欄位,即表明部署成功。image