AWS Node JS Code Deploy SDK: разница между registerApplicationRevision и createDeployment

Я пишу небольшую утилиту для развертывания на AWS с использованием кода AWS для развертывания SDK для node.js. Просматривая документацию, я вижу следующие методы:

Регистрация Ревизия приложения:

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
});

и создайте развертывание:

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? Существует ли специальный метод для запуска сборки или он будет запускаться сам по себе, как только я создам новое развертывание?


person MojoJojo    schedule 21.12.2015    source источник


Ответы (1)


Вам не нужно регистрировать версию перед созданием развертывания. Это произойдет неявно, когда вы создадите развертывание. Единственная цель регистрации ревизии — добавить запись о ней в список ревизий перед развертыванием. Зарегистрированная версия появится в консоли, чтобы вы могли сравнить то, что вы собираетесь развернуть, с тем, что, по вашему мнению, вы развертываете. Если вы не собираетесь использовать это как часть процесса выпуска, вы можете пропустить шаг регистрации.

Примечание: команда push CLI останавливается на регистрации и сообщает вам, какую ревизию она зарегистрировала. Поэтому, если вы используете команду push, регистрацию можно использовать для проверки правильности ее работы.

person Jonathan Turpie    schedule 21.12.2015