Deploy Jekyll using FTP

Jekyll is a blog aware static website generator, Jekyll is mostly used for serving GitHub Pages, You can also run your Jekyll based website on shared hosting, VPS, PAAS and many other hosting platforms. Most hosting platforms do not offer Git to deploy. Most platforms offer FTP and SFTP and sometimes FTP is the only way to transfer files into your server.

I am assuming that you already have Jekyll setup and your Jekyll website complete setup with the matter needed to be filled in the _config.yml.

We will be using Glynn a Rubygem that lets you deploy your Jekyll based website using FTP/SFTP.

Installing Glynn.

gem install glynn --no-ri --no-rdoc # sudo may be required depending on your user privilege.  

Once you have glynn installed you need to add the following to your _config.yml file

ftp_host: '< ftp hostname >'  
ftp_dir: '/your/path/website'  
ftp_passive: false

# optional
ftp_port: 21                  # default 21  
ftp_username: '< ftp username>'     # default read from stdin  

You can deploy your website by running glynn inside you Jekyll website. Glynn will read your _config.yml file and ask you for your ftp account password

glynn # Thats it.  

If prefer not entering your ftp account password every time you deploy your website, you can do that too. You can add the ftp account password as a string in the _config.yml

ftp_password: '< ftp account password >'  

Now Glynn won't ask you for a password while deploying.

Done!