The DevOps Zone is brought to you by DZone in partnership with Hewlett Packard Enterprise DevOps. Learn where you are in your DevOps journey by taking the HPE/Forrester benchmarking tool.
One of the nicest things in git is that you can actually deploy code to production (or just your test environment) w/o implementing a complicated CI solution.
Off course that using CI such as Jenkins is recommended when compilation is required (JAVA/C/C++/C#) or when TDD/unit tests are use (and you better use them).
Yet, when you just need to deploy, git can be a great service for you.
Note: please note that you must an ssh access from the local machine (not always feasble).
How is done?
Actually it is very simple (and a complete explenation can be found atstackoverflow and toroid):
Step #1: Setup a repository in the development environment and commit a first file
> git init
Step #2: Setup an environment at the web server
> mkdir /path/to/dir/website.git && cd /path/to/dir/website.git
> git init --bare
Step #3: Enable a post receive hook at the web server
> mkdir /var/www/www.mydomain.com
> cat > hooks/post-receive
GIT_WORK_TREE=/var/www/www.mydomain.com git checkout -f
> chmod +x hooks/post-receive
Step #4: Create a trigger at the development environment (and why you need ssh access from the workstation).
> git remote add web ssh://www.mydomain.com/path/to/dir/website.git
> git push web +master:refs/heads/master
Step #5: Code, Commit and Push to production
> echo 'Rocking website!' > index.html
> git add index.html
> git commit -q -m "The index file was commited"
> git push web
It is a simple task, but tricky if you don't have a direct access to the server (anyone said Jenkins?)
The DevOps Zone is brought to you in partnership with Hewlett Packard Enterprise. Download Through the DevOps Looking Glass: Learnings from HP's Own Transformation Initiative to get valuable best practices and “lessons learned” straight from the HP IT team to help you start or progress along your own DevOps Journey.