2015-12-21 58 views
0

我正在編寫一個用於在AWS上使用AWS代碼部署SDK for node.js進行部署的小型實用程序。通過文檔去,我看到了下面的方法:AWS Node JS代碼部署SDK:RegisterApplicationRevision和createDeployment之間的區別

registerApplicationRevision:

var params = { 
    applicationName: 'STRING_VALUE', /* required */ 
    revision: { /* required */ 
    gitHubLocation: { 
     commitId: 'STRING_VALUE', 
     repository: 'STRING_VALUE' 
    }, 
    revisionType: 'S3 | GitHub', 
    s3Location: { 
     bucket: 'STRING_VALUE', 
     bundleType: 'tar | tgz | zip', 
     eTag: 'STRING_VALUE', 
     key: 'STRING_VALUE', 
     version: 'STRING_VALUE' 
    } 
    }, 
    description: 'STRING_VALUE' 
}; 
codedeploy.registerApplicationRevision(params, function(err, data) { 
    if (err) console.log(err, err.stack); // an error occurred 
    else  console.log(data);   // successful response 
}); 

和createDeployment:

var params = { 
    applicationName: 'STRING_VALUE', /* required */ 
    deploymentConfigName: 'STRING_VALUE', 
    deploymentGroupName: 'STRING_VALUE', 
    description: 'STRING_VALUE', 
    ignoreApplicationStopFailures: true || false, 
    revision: { 
    gitHubLocation: { 
     commitId: 'STRING_VALUE', 
     repository: 'STRING_VALUE' 
    }, 
    revisionType: 'S3 | GitHub', 
    s3Location: { 
     bucket: 'STRING_VALUE', 
     bundleType: 'tar | tgz | zip', 
     eTag: 'STRING_VALUE', 
     key: 'STRING_VALUE', 
     version: 'STRING_VALUE' 
    } 
    } 
}; 
codedeploy.createDeployment(params, function(err, data) { 
    if (err) console.log(err, err.stack); // an error occurred 
    else  console.log(data);   // successful response 
}); 

從上面的代碼,就好像我可以不註冊一個創建部署修訂明確地使用寄存器修訂方法,因爲它取得修訂所需的所有參數。還是在我創建修訂之前仍然需要創建修訂? registerApplicationRevision方法的目的是什麼?有沒有一種特定的方法來觸發構建,或者只要我創建一個新的部署,它會自行觸發?

回答

0

在創建部署之前,您不必註冊修訂。這將在您創建部署時隱式發生。註冊修訂的唯一目的是在進行部署之前將其記錄添加到修訂列表中。已註冊的修訂將顯示在控制檯中,以便您可以將要部署的內容與您認爲正在部署的內容進行比較。如果您不希望將其作爲發佈過程的一部分,則可以跳過註冊步驟。

注意:推送CLI命令在註冊時停止,並告訴您它註冊了什麼修訂。因此,如果您使用push命令,則可以使用註冊來驗證它是否正常工作。

相關問題