1
私の現在の展開プロセス:展開EB
- コード
- EB CLIとEBインスタンスにアップロードコードと.elasticbeanstalk/config.yml からzipファイルを作成します。私は、アプリケーション名を指定して、環境名config.ymlのアーティファクト(zipファイル)。
AWS SDK(nodeJS)のみを使用してEBインスタンスにコードをデプロイできますか?
私の現在の展開プロセス:展開EB
AWS SDK(nodeJS)のみを使用してEBインスタンスにコードをデプロイできますか?
自分自身が見つかりました。 ZIPファイルをS3にアップロードする必要があります。 次に、EBアプリケーション用のアプリケーションバージョンを作成する必要があります(ZIPファイルがある場合は一意のラベルとS3Keyを使用してください)。 その後、EB環境を新しいVersionlabelで更新する必要があります(必要に応じてNode startスクリプトを指定することを忘れないでください)。
はたぶん、このコードは、誰かのために参考になります:私は必要なものを正確に
var aws = require('aws-sdk');
var s3 = new aws.S3();
var eb = new aws.ElasticBeanstalk();
var zipFileName = 'myCodeZipArchive.zip';
var appName = 'app-name';
var envName = 'env-name';
var s3bucket = 'my-app-source-bucket';
var label = `${appName}_${envName}_${new Date().toISOString()}`;
s3.upload({
Bucket: s3bucket,
Key: label,
Body: fs.createReadStream(zipFileName)
}).promise().then(() => eb.createApplicationVersion({
ApplicationName: appName,
VersionLabel: label,
SourceBundle: {
S3Bucket: s3bucket,
S3Key: label
}
}).promise()).then(() => eb.updateEnvironment({
ApplicationName: appName,
EnvironmentName: envName,
OptionSettings: [{
Namespace: 'aws:elasticbeanstalk:container:nodejs',
OptionName: 'NodeCommand',
Value: 'npm start'
}],
VersionLabel: label
}).promise());
、ありがとう! –