Buduję AWS CodePipeline, który zależy od dwóch repozytoriów źródłowych. Jeśli kroku „CodeBuild” jest określona z wieloma artefaktami wejściowe, a następnie pojawia się błąd: .. declares 2 input artifacts which is more than the maximum count
. Dokumentacja ma ścisły wymóg, aby CodeBuild miał tylko jeden artefakt wejściowy.
Z drugiej strony Lambdas nie mają tego ograniczenia. Szukałem sposobu, w jaki Lambda może „scalić” dwa artefakty w jeden, który mogę przekazać do CodeBuild. Niestety informacje na ten temat są dość ograniczone.
Czy ktoś ma działającą CodePipeline Lambda, która połączyłaby dwa Artefakty w jeden?
Uwaga : Dokumentacja dotycząca uzyskiwania dostępu do artefaktów .
źródło
Naprawdę rozwiązałem problem, klonując repozytorium bezpośrednio w programie budującym:
Przekaż token GitHub:
# Uruchom git clone w kroku instalacji:
Odkryłem, że to rozwiązanie jest łatwiejsze do wdrożenia, nie opiera się na Lambdas i chociaż wykonuje dwa ściągnięcia, działa całkiem niezawodnie.
źródło
Od 4 września 2018 r. Amazon dodał obsługę wielu źródeł wejściowych:
https://aws.amazon.com/about-aws/whats-new/2018/08/aws-codebuild-adds-ability-to-create-build-projects-with-multiple-input-sources-and-output- artefakty /
Z dokumentacji :
źródło
Możesz przejrzeć CodeBuild. Plik BuildScpec można umieścić w projekcie CodeBuild.
źródło