Deploy and Operations

A good deploy flow is not only about getting files onto a server. It is about making releases predictable: what is built, what is uploaded, how the new version is activated, how it is verified and how the team can go back quickly if something is wrong.

Release separation and verification

Keeping releases in separate directories and pointing current to the active one is a practical pattern because it turns rollback into a controlled switch instead of a manual reconstruction task.

sudo adduser deploy
sudo useradd --system --home /opt/norscode --shell /usr/sbin/nologin norscode

After activation, verify more than a green process. Check health, load a key page over HTTPS, test one critical flow and review logs for fresh warnings.

Proxy, DNS and certificates

Nginx, DNS and HTTPS are part of deploy quality. Many production incidents come from mismatches between routes, hostnames, certificates and upstream configuration rather than from broken business logic. That is why deploy guides should treat infrastructure verification as part of the release itself.

Rollback readiness

Rollback should be simple enough to perform under pressure. If the team has never practised it, it is not really ready. The chapters on observability and reliability are the natural next companions here.