Pushing changes of a git repository requires a ssh connection to the server. The default behavior is to push with a normal Unix account with username and password. In some cases it is necessary to push without entering a password. For this purpose ssh allows to authenticate via a ssh-key pair consisting of a public and a private key. With this solution scripts can automatically push git repositories to other servers.
The programming language Ruby allows to make system calls redirected to the shell. This is useful to call certain local applications or read system information. It even allows to script certain tasks via Ruby.
Public web server should provide a high level of security. On the other hand web applications may require some write permissions to the file system. Although changing the permission with
0777 is one possible solution, it allows read, write and execute commands for everyone. The better solution is to set the owner of the web application to the user of the web server.
Nanoc is a ruby-based static website compiler. It builds static HTML files based on user created layouts and templates.