I have a node project with pm2 I want to create a shell script on Jenkins to triger the build I have watched a lot of tutorials but i cant seem to find any good way to fix the problem.
Here is what I have tried
ssh -tt -i privKey username@ip/backend
npm install
node server.js
Here what I need to do
1.Connect to the server
2.Run npm install
3.Reload pm2.json
But the shell script is failing to connect to the server and to run the script
CodePudding user response:
ssh -o StrictHostKeyChecking=no -tt -i privKey username@ip <<EOF
cd backend
npm install
node server.js
pm2 reload pm2.json
echo 'Process completed successfully.'
exit
EOF
- Sometimes when connecting through ssh tunnel, changing directory can cause premission access problems, so first connect to server than change directory.
- StrictHostKeyChecking=no: The option StrictHostKeyChecking specifies whether or not ssh will automatically add new host keys to the $HOME/.ssh/known_hosts file, or never automatically add new host keys to the host file. This option, when set to yes, provides maximum protection against Trojan horse attacks.
- <<EOF - End of line, used for multi-line shell command.
- cd backend - changes directory to backend after connectiong to server.
- echo: Prints a string to know when this process is finnished.
- exit: to exit out of server's shell