Past Entries...

posted this in: Software, Technology
479 Words

I’ve always been tinkering around with Gitlab, GOGS, and other various services like Github, Bitbucket, etc. to try and store my code in some place that’s not as fallible as the personal servers and storage I keep around. I’ve recently stumbled across Visual Studio Team Services (VSTS) which seems to be an outstanding offering from Microsoft (I already use their free Visual Studio Code editor, which does a stunning job as my editor of choice)

It’s pretty cool so far, and I’ve started moving across some of my GOGS hosted repos to it, so that I have less reliance on my own paid services; it’s cost-saving for me, and VSTS actually has a really nice deployment/testing Pipeline creation tool. It’s nearly entirely drag and drop, and save for a few little bugs, it works perfectly for my personal needs.

Just for my future reference, when running SSH CLI commands, I need to disable fail on STDERR as git will write to the STDERR for any git results, meaning it’d make the build fail; which we don’t want!

…save for a few little bugs, it works perfectly for my personal needs.

Secondly, I think I’ve also settled on using VIsual Studio Code as my pseudo-IDE of choice. It has quite an expansive toolset that I can bolt onto it that really lets me control and do actions for nearly everything. For it to qualify as a full-blown IDE would mean the integration of a browser window so I never have to leave it.

I’ve been using Visual Studio Code as my editor of preference for the past 6 months or so at my current workplace; and I’ve grown accustomed to it, even if some people consider it a bit slower than other editors, or slightly less functional than an IDE. So far, it has met my everyday needs, and I think I’m fairly comfortable in saying that it is my tool of choice for development.

The combination of these tools, now means that I’ve got a development process available to me which does away with the extra resource usage of hosting my own code repositories; and allows me to build smooth, integrated pipelines that’ll deploy my projects as needed.

They all roughly follow:

  1. Create a project;
  2. Master, Release, Develop, Feature and Hotfix branches as per Gitflow
  3. As each Pull Request merges into Master;
  4. SSH into servers using Private Key
  5. cd /to/deployed/production/folder and git fetch && git reset --hard origin/master

Some notes:

I’d execute any particular unit tests as required, in between steps 3 and 4. And I am aware that following Gitflow for a single developer project is probably overkill, but it’s a practice I like to keep familiar with, as I use it every day in my day-to-day job where there’s more than just myself developing code on a project.