From the question it isn't clear if you're ssh-ing into the deploy user's account and running commands:
ssh deploy@myhost
... or if you're using ssh to run a command as the deploy user:
ssh deploy@myhost my-command-to-run
If I am logged into a host and:
earl@myhost:~$ echo $PATH
/home/earl/bin:/usr/local/go/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
It shows /home/earl/bin at the beginning of my PATH because I set it in my ~/.profile file.
If I ssh to another user on the same machine:
earl@myhost:~$ ssh deploy@myhost
deploy@myhost:~$ echo $PATH
/usr/local/go/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
The login is now using the PATH setting for the deploy user because I'm using an interactive ssh login shell. It's getting the PATH setting from deploy's ~/.profile file, which doesn't contain /home/earl/bin.
However, if I just typed:
earl@myhost:~$ ssh deploy@myhost ./run-commands.sh
ssh is going to ssh into the deploy user's account on the same host and run the deploy user's ./run-commands.sh script, but ssh will not be using a login shell and none of the environment settings in the deploy user's ~/.profile or ~/.bashrc or ~/.bash_profile files will be executed because ssh is just running a command, it isn't starting a shell.
If you're trying to use ssh interactively, and .profile isn't getting run, you probably set the shell for deploy to a shell that doesn't exist or a shell that doesn't use .profile files. Try:
earl@myhost:~$ ssh deploy@myhost
deploy@myhost:~$ ps -p $$
... to find out what shell the deploy user is using.
If you're trying to use ssh to run a command, create a run-commands.sh shell script, add:
source ~/.profile
... to the beginning of the shell script, followed by the commands you want to run, and then ssh deploy@myhost ./run-commands.sh should work.