首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过AWS SDK部署EB

通过AWS SDK部署EB
EN

Stack Overflow用户
提问于 2017-01-12 13:41:26
回答 1查看 717关注 0票数 2

我目前的部署过程:

  1. 从代码创建zip文件
  2. 我在config.yml中指定了应用程序名称、环境名称和工件(zip文件)。

我可以仅使用AWS (nodeJS)将代码部署到EB实例吗?

EN

回答 1

Stack Overflow用户

发布于 2017-01-13 12:20:52

找到了自己。您需要将ZIP文件上载到S3。然后,您需要为EB应用程序创建应用程序版本(带有唯一标签和S3Key,其中有ZIP文件)。然后,您需要用新的Versionlabel更新EB环境(如果需要,不要忘记指定Node脚本)。

也许这段代码会对某些人有帮助:

代码语言:javascript
复制
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());
票数 17
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41614739

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档