5

2 AWS makinem var, 1.dev (ec2) 2. prod (elastic beanstalk). Her bir taahhütten sonra bir war dosyasıyla sonuçlanan (s3cmd aracını kullanarak bir S3 kepçesine yüklenecek olan) dev (makine1) üzerine kuruyorum ve dağıtıyorum. Sonra yeni devredilen savaş makinesini test ettim, eğer iyi görünüyorsa, o zaman savaşı dev (ec2) 'den indirdim ve sonra prod makinesine (Elastic beanstalk) yükledim.S3'ten AWS Elastic Beanstalk'a savaş dağıtımı

Elastiki fasulyesi, S3 kabından doğrudan ec2'den indirmek ve daha sonra elastik fasülyeye yüklemek yerine savaşı doğrudan almak için bir yol var mı?

Yeni bir ortam oluşturmayı denedim ve uygulama sürümü için s3 yolunu verdim, ancak işe yaramıyor. ("Bu sadece VPC'de yapılabilir" diyerek bir hata verdi).

cevap

15

ben this post en iyi cevabı var:

  1. yükle S3 kovaya: aws s3 cp/var/lib/tomcat7/webapps

    o AWS CLI kullanarak 3 basit adım gerektirir /ROOT.war s3: // elasticbeanstalk-ap-güneydoğu-1- xxxxxx/myROOT.war

  2. uygulama sürümünü oluşturun: aws elasticbeanstalk cRE yedi-uygulama sürümü --application adı your_app_name version etiketli your_version_label --source demeti S3Bucket = elasticbeanstalk-ap-güneydoğu-1 XXXXXX, S3Key = myROOT.war
  3. çevrenizi güncelleyin
  4. : AWS elasticbeanstalk update-çevre --environment-name your_app_name version etiketli your_version_label

Yukarıdaki adımların tümü için sadece 3 saniye süren bir bash script oluşturdum. Daha açıklayıcı bir cevap için bağlantıya geçin.

+0

AWS docco'da http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/using-features.deployment.html –

2

Eğer s3 savaş dosyanız mybucket/test/myapp.war dizinindeyse, o zaman s3 kovasıyla mybucket ve test/myapp.war gibi bir uygulama sürümü oluşturmanın yolu budur. VPC ile ilgili hatayı neden aldığınızdan emin değilsiniz. Bu hatayı ne zaman ve nerede görüyorsunuz? Bir uygulama sürümü oluşturduğunuzda veya bir ortam oluşturduğunuzda? API çağrısı hata mesajını atıyor mu, daha sonra olaylarda bunu görüyor musunuz?

+0

Teşekkürler, ama konuşlandırmak istediğim savaş yolu 'https: // s3-us-west-2.amazonaws.com/mybucket/ROOT.war', ama S3- olarak girdiğimde URL, bunu kabul etmiyor, ayrıca https: // s3.amazonaws.com/mybucket/ROOT.war ve https: // mybucket.s3.amazonaws.com/ROOT.war' ile de denedim ama hayır şansı . Neyi yanlış yapıyorum? – thekosmix

+0

Bu iyi ... S3Bucket'in üzerindeki s3 url'de "mybucket", ve nesne anahtarı "ROOT.war". Eğer us-west-2'de bir fasülye fasulyesi ortamı başlatıyorsanız, 'mybucket' in 'us-west-2' bölgesinde de yaratıldığından emin olun. –

+0

thnx, onu dağıtabildim, ancak son şey, ROOT.war'ın sonraki sürümünü nasıl dağıtabilirim? Yukarıdaki adım ilk kez yapıldı, sonraki sürümü nasıl dağıtabilirim? – thekosmix

İlgili konular