
鏡像下載下傳、域名解析、時間同步請點選
阿裡巴巴開源鏡像站使用 Maven 将應用部署到 EDAS 需要建立配置檔案、賬号檔案等,您可以根據實際自定義配置檔案、賬号檔案的内容。本文将介紹使用 Maven 将應用部署到 EDAS 的配置項說明、指定配置檔案說明、賬号配置優先級說明及相關使用示例。
一、配置項
部署應用的配置項可分成三大類:
- 基本環境(ENV)
- 應用配置(APP)
- 存儲配置(OSS)
目前支援的配置項如下表所示:
類型 | key | 是否必須 | 說明 |
---|---|---|---|
ENV | region_id | 是 | 應用所在的區域 ID。 |
endpoint | 否 | 用于專有雲設定 POP 網關接入點。 | |
APP | app_id | 應用ID | |
package_version | 部署包的版本。預設為 pom 檔案的 version 加上目前機器建構的時間,格式如:”1.0 (2018-09-27 19:00:00)”。 | ||
desc | 部署的描述 | ||
group_id | 部署分組 ID。預設為所有分組。 | ||
batch | 部署分批。預設為 1 批,最大為 5 批。 | ||
batch_wait_time | 部署分批之間的等待時間,機關為分鐘。預設不等待。 | ||
stage_timeout | 展示每個變更流程 stage 狀态的逾時時間,機關為分鐘,預設為 5 分鐘。如果同時設定了 batch_wait_time,那麼此參數在計算時會自動加上 batch_wait_time。在運作時,如果某個 stage 等待時間超過此門檻值,那麼此插件會自動退出。 | ||
OSS | 目标存儲桶所在的區域 ID 。預設使用應用所在的區域 ID 。 | ||
bucket | 目标存儲桶名稱。預設使用 EDAS 提供的免費 OSS 存儲空間。若指定了 OSS 配置,則必須指定 bucket 參數,否則使用 EDAS 自動配置設定的免費 OSS 存儲空間。 | ||
應用包上傳到 OSS 的自定義路徑,預設使用 EDAS 提供的免費 OSS 存儲空間。若使用指定的 OSS 存儲,則可通過該參數指明包存儲路徑,同時可以使用以下變量來進行參數化的路徑配置 {region_id},{app_id},{version},例如: pkgs/petstore/{version}/store.war該配置預設為 {region_id}/{app_id}/{version} | |||
access_key_id | 應用包上傳到 OSS 的自定義賬号 ID。 | ||
access_key_secret | 應用包上傳到 OSS 的自定義賬号密鑰。 |
示例一
使用者 A 在 Region 為北京有一個 ID 為
eb20dc8a-xxx
的應用,若需将版本為 1.2 的應用部署在分組 ID 為
06923bb9-xxx
分組下,則配置檔案如下:
env:
region_id: cn-beijing
app:
app_id: eb20dc8a-xxx
package_version: 1.2
group_id: 06923bb9-xxx
示例二
使用者 B 需部署一個 ID 為 eb20dc8a-xxx 的應用,并将部署包上傳到自己在北京 Region 的名為
release-pkg
的存儲桶中的
my.war
檔案下。OSS 賬号 ID 為 ABC,OSS 賬号密鑰為 1234567890。則配置檔案如下:
env:
region_id: cn-beijing
app:
app_id: eb20dc8a-xxx
oss:
region_id: cn-beijing
bucket: release-pkg
key: my.war
access_key_id: ABC
access_key_secret: 1234567890
二、指定配置檔案
指定配置檔案的方式有以下兩種:
- 在任意目錄下建立配置檔案,通過設定參數
來指定配置檔案。-Dedas_config={配置檔案路徑}
- 當未設定參數指定配置檔案時,Cloud Toolkit 會預設使用被打包的工程根目錄下的
檔案作為配置檔案。若被打包的工程為一個 Maven 工程的子子產品,則預設使用該子子產品的根目錄下的.edas_config.yaml
檔案。.edas_config.yaml
注意 如果既存在預設配置檔案,也通過參數指定配置檔案,Cloud Toolkit 會優先使用參數指定的配置檔案。
三、賬号配置及優先級
使用 Cloud Toolkit 将應用部署到雲端時,需要使用阿裡雲上的資源。是以在部署應用前,需要設定您的阿裡雲賬号資訊,確定擁有使用和管理相關資源、應用的權限。目前 Cloud Toolkit 支援多種配置方式,優先級從高到低如下:
說明 當重複配置時,優先級高的配置方式會覆寫優先級低的配置方式。
- 使用指令行指定 AccessKeyID 和 AccessKeySecret 參數,有以下兩種方式。
- 在使用 Maven 指令打包時,通過指令
來指定。-Daccess_key_id=xx -Daccess_key_secret=xx
- 在 Pom 檔案中配置 Cloud Toolkit 時,插入 AccessKeyID 和 AccessKeySecret 參數配置,示例如下:
- 在使用 Maven 指令打包時,通過指令
<plugin>
<groupId>com.aliyun</groupId>
<artifactId>edas-maven-plugin</artifactId>
<version>2.30.0</version>
<configuration>
<accessKeyId>abc</accessKeyId>
<accessKeySecret>1234567890</accessKeySecret>
</configuration>
</plugin>
-
指令行指定賬号檔案(推薦)。
在使用 Maven 指令打包時,通過
來指定 yaml 格式的賬号檔案。賬号檔案示例如下:-Daccess_key_file={賬号檔案路徑}
access_key_id: abc
access_key_secret: 1234567890
- 使用預設的阿裡雲賬号檔案。如果沒有通過以上兩種方式指定賬号,那麼 Cloud Toolkit 會使用您曾經配置過的阿裡雲賬号進行應用部署。
- 如果您使用過最新的 aliyuncli 工具并且配置過阿裡雲賬号,那麼阿裡雲會在您目前 Home 目錄下生成一個
目錄,并在.aliyuncli
目錄下建立.aliyuncli
檔案來儲存您的賬号資訊。以 Mac 系統為例,在credentials
檔案中儲存賬号資訊如下:/Users/使用者名/.aliyuncli/credentials
- 如果您使用過最新的 aliyuncli 工具并且配置過阿裡雲賬号,那麼阿裡雲會在您目前 Home 目錄下生成一個
[default]
aliyun_access_key_secret = 1234567890
aliyun_access_key_id = abc
- 如果您使用過老的 aliyun 工具并且配置過阿裡雲賬号,那麼 aliyun 工具會在您目前 Home 目錄下生成一個
目錄,并且在.aliyun
目錄下建立一個.aliyun
config.json
/Users/使用者名/.aliyun/config.json
{
"current": "",
"profiles": [{
"name": "default",
"mode": "AK",
"access_key_id": "",
"access_key_secret": "",
"sts_token": "",
"ram_role_name": "",
"ram_role_arn": "",
"ram_session_name": "",
"private_key": "",
"key_pair_name": "",
"expired_seconds": 0,
"verified": "",
"region_id": "",
"output_format": "json",
"language": "en",
"site": "",
"retry_timeout": 0,
"retry_count": 0
}, {
"name": "",
"mode": "AK",
"access_key_id": "abc",
"access_key_secret": "xxx",
"sts_token": "",
"ram_role_name": "",
"ram_role_arn": "",
"ram_session_name": "",
"private_key": "",
"key_pair_name": "",
"expired_seconds": 0,
"verified": "",
"region_id": "cn-hangzhou",
"output_format": "json",
"language": "en",
"site": "",
"retry_timeout": 0,
"retry_count": 0
}],
"meta_path": ""
}
- 系統環境變量:若您未采用上述任何一種方式設定賬号檔案,Cloud Toolkit 會嘗試通過系統環境變量來擷取 access_key_id 和 access_key_secret 的值(即通過 Java 代碼的
和System.getenv("access_key_id")
來擷取相應的值)。System.getenv("access_key_secret")
“ 提供全面,高效和穩定的鏡像下載下傳服務。釘釘搜尋 21746399 加入鏡像站官方使用者交流群。”