- У меня есть файл войны ,. myapp.war (это случается, Grails приложение, но это не материал)
- Я загрузить это на s3 ведро, скажем, MyApp в нас-запад 2
Я настроить OpsWorks используя хранилище S3 Тип:Неисправность развертывания военной службы OpsWorks от S3
Тип Repository: S3 Repository URL: https://myapp.s3-us-west-2.amazonaws.com/myapp.war Access ключ ID: ключ с разрешением на чтение на выше ведро секретный ключ доступа: секрет для этого ключа
Deploy к экземпляру в Java слой (Tomcat 7)
- Все огни зеленые, развертываний удалось
- Но приложение на самом деле не развернуты
- Артобстрел на экземпляре и смотреть в/USR/доли/tomcat7/WebApps я найти директорию с именем 'MyApp. Внутри этого каталога находится файл под названием «архив». «архив» представляется военным файлом, но он не называется «archive.war», и он находится в подкаталоге webapps, поэтому tomcat не собирается его развертывать.
Теперь документы OpsWorks говорят, что архив должен быть «zip-файлом». Но:
сжать до myapp.war в архив почтового индекса «myapp.war.zip» и изменить путь к этому файлу приводит к «MyApp» содержащий «myapp.war». Нет развертывания, поскольку tomcat не ищет военные файлы в 'webapps/myapp'
Изменение имени 'myapp.war' на 'myapp.zip' и изменение пути репозитория приводит к 'myapp', содержащему один файл 'архив' снова.
So. Может ли кто-нибудь описать, как правильно предоставить военный файл OpsWorks с S3?
Инструмент java jar делает банки, войны и т. Д. И да, они просто zip-файлы с некоторым обычным содержимым, как манифест. Но эти zip-файлы (названные war, or jar или что-то еще) не работают в этом контексте. Оказывается, если вы взорвите файл войны, созданный с помощью инструмента jar, затем заархивируйте полученное содержимое с помощью инструмента zip (а не инструмента jar), а затем переименуйте его с расширением .war, затем poof будет работать. – npskirk
сделал последнюю часть моего ответа, не ответив на ваш вопрос «Может ли кто-нибудь описать, как правильно предоставить военный файл OpsWorks из S3?» У меня не было проблем, когда мне нужно было переименовать или повторно заархивировать мои .WAR-файлы при развертывании OpsWorks. Но я действительно думаю, что OpsWorks может быть тонким ... – mmcrae
Ваш ответ - сделать то, что я сделал на третьем шаге моего вопроса. Итак, нет, извините, это не помогло. – npskirk