You're on your way to the next level! Join the Kudos program to earn points and save your progress.
Level 1: Seed
25 / 150 points
Next: Root
1 badge earned
Challenges come and go, but your rewards stay with you. Do more to earn more!
What goes around comes around! Share the love by gifting kudos to your peers.
Keep earning points to reach the top of the leaderboard. It resets every quarter so you always have a chance!
Join now to unlock these features and more
Background:
In the pipeline step, I have added multiple scripts something like
image: drupal:9.5.11-php8.1-fpm
pipelines:
branches:
test:
- step:
script:
- scripts/pipelines/setup.sh
- scripts/pipelines/validate.sh
- scripts/pipelines/build_artifact.sh
- scripts/pipelines/deploy_artifact.sh
services:
- docker
- mysql
caches:
- docker
- node
- composer
I used an image where node and npm are unavailable, so I need to install the node using nvm in setup.sh. I am able to install node and npm and the commands successfully are running properly in the setup script.
I am using Acquia BLT in this pipeline. BLT command is running post code command hook where I am running one script (frontend_build.sh) to run npm install and npm run build.
Problem:
Inside frontend_build.sh, it is giving an error "npm command not found".
Solution Tried:
Suggestions are welcome.
Thanks very much for all the help.
Hi @Amit Sharma,
Thank you for reaching out to the community.
May we know how you're installing NPM in your build?
This is because when I tried using the base Docker image (drupal:9.5.11-php8.1-fpm), I got the same error message when running the NPM command because NPM is not available from the base Docker image.
+ npm --version bash: npm: command not found
Regards,
Mark C
Yes @Mark C I am installing the npm in my script
scripts/pipelines/setup.sh
in the above script I am installing and setting up the path of node and npm.
Also, I have checked the version. I installed the node using nvm.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi @Amit Sharma
Thanks for that.
Could we check if the NPM is still installed after running setup.sh script?
script:
- scripts/pipelines/setup.sh
- npm --version
- scripts/pipelines/validate.sh
- scripts/pipelines/build_artifact.sh
- scripts/pipelines/deploy_artifact.sh
You can also try installing NPM as part of the step script instead.
Let me know how it goes.
Regards,
Mark C
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi @Amit Sharma
Is frontend_build.sh running in a different step? If so, node cache only caches node_modules not the actual node install.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
@Saxea _Flowie_ it is running inside the same step. I have added multiple scripts in the same step for reusability in other steps.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
@Saxea _Flowie_ I am running the Acquia BLT command in the build.sh, which runs a post-code hook. Inside this hook, I am running the frontend-build.sh
BLT picks the path of npm installed in the current container. I have used this on the local but it is not working in Pipeline.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.