🚧 Under construction — VoTechWorks is being built. A free tech program — complimentary, as our commitment to get America working.
voTechWorksGrade 13 · a vocational technology learning center, by urbanicity
newSchoolWorks.com › VoTechWorks › Technology & Design › Web & Software Development › Deployment: Servers, CI/CD, and Cloud Publishing › Lesson 12
TEC-WEB46-07 · Lesson 12 · 18 clock hours · lab

Capstone Deployment Sprint: Full Production Release

Objective. Students independently deploy a provided multi-file web application to their hardened VPS with HTTPS, a working CI/CD pipeline, secrets management, monitoring, and a completed deployment runbook.

⚠ Pending professional review

This lesson, its worked examples and its practice questions has not yet been verified by an industry-certified professional or by a certification or approval body. It is a study draft and may contain errors. Do not use it as instructions for work on a job site or on live equipment. Always follow your instructor, your supervising professional, and current official references and regulations.

VoTechWorks program approval and accreditation are still in progress. Credentials are issued only by the certifying bodies named in each program, after their own exams.

Capstone Deployment Sprint: Full Production Release

This lab is your final, independent demonstration that you can take a real web application from source code to a live, secure, monitored production environment. You will work alone, applying every skill from this course: server hardening, TLS, CI/CD pipelines, secrets management, and operational monitoring. A graded runbook ties everything together.

What the Sprint Requires

You will receive a sprint application package — a Python Flask or PHP application that connects to a database. Your job is to deploy it fully and professionally. That means:

Phase 1: Pre-Deployment Planning

Before you touch a terminal, complete the written pre-deployment checklist. This is not busywork — skipping planning is how production outages start.

Your checklist must confirm:

Writing this checklist forces you to catch problems before they appear mid-deployment.

Phase 2: Executing the Deployment

Work through the deployment in a logical order to avoid circular dependencies.

1. Push code to GitHub. Confirm your `.gitignore` excludes `.env`, credential files, and any private keys. Run `git log` and inspect the repository on GitHub to verify no secrets appear in any commit.

2. Trigger the CI/CD pipeline. The pipeline must run tests first. If tests fail, the deployment step must not run. Inspect the Actions log (or equivalent) to confirm the sequence.

3. Confirm deployment to VPS. SSH in and verify the application process is running (`systemctl status` or `docker ps`). Check the application log for startup errors.

4. Verify HTTPS. Open the HTTPS URL in a browser and confirm the padlock and a valid certificate. Use `curl -I https://yourdomain.example` to see the response headers and confirm no HTTP-to-HTTPS redirect is missing.

5. Verify secrets are not in source control. On GitHub, search your repository for any known secret string. Confirm it returns no results.

Phase 3: The 10-Minute Instructor Walkthrough

You will present the live deployment to your instructor. Structure your ten minutes:

Completing the Runbook

The runbook is a graded deliverable. It must be clear enough that a colleague who did not build this deployment can operate it. Required sections:

Write in plain prose with numbered steps where sequence matters. Paste exact commands with placeholders for values that vary by environment.

Safety and Security Reminders

In web deployment, "safety" means preventing unauthorized access and data loss.

Grading Rubric Summary

Six criteria are scored, and you need 80% overall with no single criterion below 60%:

| Criterion | What is evaluated |

|---|---|

| Server hardening | Firewall, SSH config, no root login |

| HTTPS | Valid certificate, redirect from HTTP |

| CI/CD pipeline | Tests run, deploys only on pass |

| Secrets management | No secrets in source control or logs |

| Monitoring | Log access demonstrated live |

| Runbook quality | Complete, accurate, usable by a peer |

Review the full rubric before you begin so you know exactly what each criterion demands.

Key terms8

Deployment runbookA written document that records the exact steps, commands, and decisions needed to deploy, operate, and roll back an application, so any qualified team member can perform those tasks reliably.
ACME HTTP-01 challengeA domain ownership verification method used by certificate authorities such as Let's Encrypt, in which a token is placed on port 80 of the server to prove the requester controls that domain.
Secrets managementThe practice of storing sensitive values such as passwords and API keys outside source control, using mechanisms like environment variables, encrypted secret stores, or platform-managed secrets.
CI/CD pipelineAn automated sequence of steps — typically build, test, and deploy — triggered by a code push, ensuring that only code passing automated tests reaches the production server.
Least privilegeA security principle requiring that every process or user account is granted only the minimum permissions needed to perform its function, reducing the impact of a compromise.
RollbackThe act of reverting a production system to a previously known-good state, usually by redeploying an earlier version of the application or restoring a database backup.
TLS certificateA digital certificate issued by a certificate authority that enables HTTPS by authenticating the server's identity and encrypting traffic between the server and the client's browser.
Pre-deployment checklistA structured list of conditions that must be verified before executing a deployment, covering infrastructure state, DNS, security settings, and pipeline readiness.
In class: Receive the sprint application package (a Python Flask or PHP app with a database connection); plan the deployment by completing a written pre-deployment checklist covering server state, DNS, TLS, environment variables, and pipeline configuration. · Execute the full deployment end-to-end: push code to GitHub, verify CI/CD pipeline runs tests and deploys to VPS, confirm HTTPS with valid certificate, and confirm environment variables are not in source control. · Present the live deployment to the instructor in a 10-minute walkthrough, demonstrating the pipeline run, HTTPS URL, log monitoring, and rollback capability; submit the runbook as a graded deliverable.
Materials: Sprint application package, student VPS, GitHub, Docker (optional), all tools from Lessons 1-11, runbook template, grading rubric
Check: Scored against a rubric with six criteria (server hardening, HTTPS, CI/CD pipeline function, secrets management, monitoring, runbook quality); students must achieve 80% overall with no criterion scoring below 60%.

Practice check8

Answer each question, then check it. Nothing is recorded; this is your own practice.

CompTIA Linux+ — Security and operational procedures
1. During the pre-deployment checklist, you discover that your domain's A-record still points to the old VPS IP. What is the correct immediate action?
CompTIA ITF+ — Security concepts
2. A teammate reviews your GitHub repository and finds the database password in a commit made three days ago. The password was later removed in a follow-up commit. What is the required remediation?
CompTIA Linux+ — Automation and scripting
3. Your CI/CD pipeline is configured so that the deploy job runs at the same time as the test job, rather than after it. What is the primary risk of this configuration?
CompTIA Linux+ — System management
4. Which command lets you follow the live log output of a systemd-managed application service called 'flaskapp'?
PCEP Python — General programming and environment practices
5. A student stores environment variables by exporting them in the application's bash start script, which is committed to the repository. Why is this approach insecure?
CompTIA Linux+ — Automation and scripting
6. During your walkthrough, the instructor asks you to demonstrate rollback. Which approach is most appropriate for a Git-based deployment?
CompTIA Linux+ — Security
7. Which firewall rule set correctly follows least-privilege principles for a production web server running SSH, HTTP, and HTTPS?
CompTIA ITF+ — IT concepts and terminology
8. A student's runbook contains this instruction: 'Deploy the app somehow and check that it works.' Why would this fail the runbook quality criterion?
Record this lesson on my transcript. Sign in with your key and enrollment email to record lessons (enroll free if you have no key). This page stays open to read and practise.