@niftylettuce – Automated Continuous Integration Setup for Graceful and Zero-Downtime Node App Deployment using GitHub, PM2, Digital Ocean, and SemaphoreCI

How-to set up automated continuous integration and deployment setup with graceful and zero-downtime restarts for Node.js using GitHub, PM2, Digital Ocean, and SemaphoreCI.

Source: @niftylettuce – Automated Continuous Integration Setup for Graceful and Zero-Downtime Node App Deployment using GitHub, PM2, Digital Ocean, and SemaphoreCI

GitHub adds commit squashing to tidy up your commit history

Commit squashing has the benefit of keeping your git history tidy and easier to digest than the alternative created by merge commits. While merge commits retain commits like “oops missed a spot” and “maybe fix that test? [round 2]”, squashing retains the changes but omits the individual commits from history. Many people prefer this workflow because, while those work-in-progress commits are helpful when working on a feature branch, they aren’t necessarily important to retain when looking at the history of your base branch.

Squash your commits – GitHub

New feature allows for cleaner commits in your code and more suitable for a broader range of workflows.

GitHub now supports 451 status code for DMCA blocked content

The 451 status code is now supported | GitHub Developer Guide https://developer.github.com/changes/2016-03-17-the-451-status-code-is-now-supported/

GitHub now returns a 451 HTTP status code for repos that have been blocked/removed due to a DMCA notice.
The new 451 code should be used in place of a generic 403 to indicate that content is not available for legal reasons. The reason is likely to be a DMCA notice, but could be used for content that has license restrictions, or other legislative or regulatory blocks.

Runnable Sandboxes: Full-stack environments for every GitHub branch

Runnable creates full-stack environments for every branch across all your GitHub repositories. These environments can be used to integrate and test branches end-to-end, before they’re merged into master.

Watch the 90 second video and browse through our feature tour.

— Runnable Sandboxes: Full-stack environments for every GitHub branch  http://blog.runnable.com/post/141200219146/runnable-sandboxes-full-stack-environments-for

This looks interesting especially as we move to new platforms.

Git Large File Storage Extension Allows for Better Versioning of Large Files

Git Large File Storage (LFS) replaces large files such as audio samples, videos, datasets, and graphics with text pointers inside Git, while storing the file contents on a remote server like GitHub.com or GitHub Enterprise.

via Git Large File Storage.

This could represent a solution not only for projects with large media assets, but also for doing things like keeping database dumps within a project. There is an API that lets you build a backend so you don;t need to use Github. The Reference server that uses the API is at https://github.com/github/lfs-test-server.