2017-10-04 4 views
0

J'ai créé un projet CodeBuild pour un pipeline de génération relativement simple. Je construis un projet NodeJS. Mon buildspec est assez simple:AWS CodeBuild prenant FOREVER lors du transfert vers l'étape S3

version: 0.2 
env: 
    variables: 
    ENVIRNOMENT: "AWSDEV" 
phases: 
    pre_build: 
    commands: 
     - npm install 
    build: 
    commands: 
     - npm run -s build 
artifacts: 
    files: 
    - src/dist/**/* 
    - node_modules/**/* 
    discard-paths: no 

L'étape run build NPM utilise simplement Babel transpile le code dans le répertoire src/dist. Je cours une construction et il a été 37 minutes et il construit toujours, sur l'étape UPLOAD_ARTIFACTS. Je peux voir les artefacts qui sont ajoutés au seau S3, donc il est probablement encore en train de faire des choses.

Y at-il quelque chose que je peux faire pour améliorer ce processus de construction? Cela devrait être une courte, 5 minutes à la plupart des tâches, je pense. Est-ce que je fais quelque chose de mal en téléchargeant node_modules dans le seau S3?

Quelle est la meilleure configuration pour un projet de noeud?

Répondre

1

La configuration "Packaging d'artefacts" est-elle définie sur "Aucun" pour votre projet CodeBuild? Changer l'empaquetage en "Zip" sera probablement beaucoup plus rapide, de sorte que la construction ne prend pas le temps de télécharger chaque fichier de module de noeud individuel à S3. À la place, avec l'empaquetage zip, CodeBuild va tout fermer et télécharger un fichier zip sur S3.

Cette page contient des instructions sur l'endroit où trouver le réglage de l'emballage dans la console CodeBuild: http://docs.aws.amazon.com/codebuild/latest/userguide/change-project.html