Web Software Architecture and Engineering – Life on the Bleeding Edge

We have settled really well on Git, and have branches for all developers and each environment, like I described earlier.
However, what we don’t have is an easy way to deploy a git branch, or simply execute a git pull command remotely. I don’t want to do it using SSH and Git BASH, which seems to be what Google turns up.
I looked to see if I could whip up a home grown ColdFusion based solution. I looked at Git.cfc, however it lack any teeth. You can execute a “git pull” command, but the code doesn’t have any mechanism to load git keys, so the code errors out. I also looked at the jGit JAR file, and interfacing with that, but there is no documentation – only a link to forums.
Has anyone built anything that you found useful, or if you use Git, how do you effectively issue an update command for example, to a dev or QA server?


Comments on: "Git Deployer in ColdFusion – Need Help!" (6)

  1. Richard Herbert said:

    I wrote a system some time ago to deploy directly from a Subversion repository directly to my staging/production websites using Ant and Alagad’s Ant4CF. I’m new to Git and have been thinking about how I can use the same concepts for my new SCM of choice.

    Maybe we could work on something together?


  2. I’ve rarely done anything with git other than via command line and SSH. If you don’t want to use either of those, what type of alternative are you looking for? If you’d like to automate deployment to a test server, I’d imagine these are good options. ANT can pass through git commands if you’d like to use ANT, and there are also some tasks and scripts out there. If you were to use “home grown ColdFusion based solution,” what benefit would that provide? If no over SSH, then how? HTTP? FTP? Just curious, but it sounds like something along the lines of ANT and/or Jenkins CI might be worth looking into.

  3. I added a remote repos for production, then from my computer created branches called production-master and production-stage representing production’s stage/master.

    Then I move changes into my stage for final integration testing, then checkout production-stage, merge stage, and then push the changes to production’s stage.

    Works out pretty slick. Once the changes are on production, someone else actually does the merge into production.

    • That’s great. I think I’ll tease some information on Joseph Lamoree, and we can speak about how we do it with Git + Jenkins. We’ve added MXUnit into this mix, and will be adding Selenium for Functional testing, and using Gerrit for code reviews.

  4. We do something very simple of just running a scheduled task that updates all our QA/Integration/Staging environments from their related repos. And then we created a simple web page for the biz analysts so that they can load in whatever branch they want to test into whatever server they want to test on (we have 5 QA servers).

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: