Deployment
- What is deployment in software?
Deployment is the process of making a software application available for use, typically by installing, configuring, and starting it on a server or platform. It moves code from a development or build environment into a runtime environment. - How do I deploy a web app to a Linux server?
The general steps are: provision a server, install a runtime (e.g., Node.js, Python, PHP), copy your code, configure a web server like Nginx as a reverse proxy, and start your app with a process manager like systemd or PM2. - What is the difference between deployment and release?
Deployment is the technical process of installing software onto infrastructure. Release is the business decision to make that software available to users. You can deploy without releasing, and release without deploying (e.g., feature flags). - How do I roll back a bad deployment?
Redeploy the last known good version, or use your platform's rollback command (e.g., `kubectl rollout undo`, `docker service rollback`). Automate rollbacks in your pipeline for speed. - What is a blue-green deployment?
A release technique with two identical environments: blue (live) and green (idle). You deploy to green, test it, then switch traffic from blue to green. Rollback is just switching back. - How do I deploy code with Git?
Use Git to push code to a repository, then have a deployment tool (CI/CD, webhook, or manual pull) fetch and deploy it. Common methods: Git hooks, CI pipelines, or `git pull` on the server.