Eu tive um problema semelhante, precisando implantar no Elastic Beanstalk do Bitbucket. Enquanto o meu é um aplicativo Python, o seguinte é agnóstico de linguagem.
- Use os pipelines do Bitbucket para compactar seu código e soltá-lo em um bucket do S3 com versão (a versão é importante aqui)
- Crie um pipeline no AWS CodePipeline para pegar o arquivo zip do bucket S3. O Bitbucket acabou de lançar o pacote. O AWS CP usará o tópico de notificação de versão que é publicado silenciosamente nos sistemas da AWS para acionar automaticamente.
- Defina a fase de implantação do pipeline como o seu ambiente do Elastic Beanstalk.
Eu tenho usado esse método por um tempo agora e não tive um problema com ele. Temos outras seções que pertencem ao Pipeline do Bitbucket e do AWS (testando e construindo imagens docker), mas esse método deve funcionar muito bem sem a fase "build" no CodePipeline.