Azure Devops - workflow/strategy for uploading only changed files to shared hosting provider after a build of static website (Jekyll)
I don't think you are missing any easy solutions because

the easy solutions probably rely on you having full access to the webserver -- which you don't have? The challenge is what is the best you can do given limited server access.
FTP does not have a reliable, built-in way to only upload changed files.

I think:

your only solution for problem 1 is to write your own shell script

problem 2 is usefully discussed here: https://stackoverflow.com/questions/424680/trying-to-find-a-simple-way-to-do-upload-only-modified-files-through-ftp .


The viable solutions both amount to 'save hashes of the files on the server, then compare before upload'. However if you can get your pipeline to install and use git-ftp then git-ftp will do all that for you.