【AWS】AWS Toolkit for Visual StudioからRepublishに失敗する

いや、デプロイ自体は成功してるっぽいんだけどさエラー出るのうざいやん?
5時間は戦った。
対応が合ってるかは知らん。

えらーその1

最初アプリケーションディレクトリにログ吐いてたんだけど、log4netくんがファイルハンドルもちっぱなので、デプロイするときに消せねーってさ。
configにlockingModel追記して終了
デプロイの度にログ消えちゃうから最終的には別の場所に移動したけど。



<appender name="HogeAppender" type="log4net.Appender.RollingFileAppender">
      <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />

えらーその2

・cfn-hup.log:



[ERROR] Error sending result; will leave message in queue
Traceback (most recent call last):
  File "cfnbootstrap\update_hooks.pyc", line 391, in _run_hook
  File "json\__init__.pyc", line 231, in dumps
  File "json\encoder.pyc", line 201, in encode
  File "json\encoder.pyc", line 264, in iterencode
UnicodeDecodeError: 'utf8' codec can't decode byte 0x82 in position 389: invalid start byte

どうやらPython文字コード系のエラーな模様。

とりあえずWeb.configに文字コードの指定してなかったので、追記。まぁだめだよねw
環境変数見たらC:\Program Files\Amazon\cfn-bootstrapにパス通ってたので、
おもむろにsitecustomize.pyを作成。

import sys
sys.setdefaultencoding("utf-8")

なおったっぽい。



えらーその3

・cfn-init.log

[ERROR] Could not move C:\cfn\download_version_bundle.ps1.bak2 to C:\cfn\download_version_bundle.ps1.bak

metadata.jsonにこう書いてあったからC:\cfnにある.ps1とか、.ps1.bakとかを消してからRepublishすればおkだった

"files": {
                "C:\\cfn\\download_version_bundle.ps1": {
                    "source": "https://elasticbeanstalk-env-resources-ap-northeast-1.s3.amazonaws.com/eb_patching_resources/download_source_bundle.ps1"
                }
            }, 

ただ毎回削除すんのめんどくさいから方法模索中。。