liveBook · Manning

Deployment pipeline

As explained in Build Python Web Apps with Streamlit

Continuous integration is the practice of automatically validating code changes as they are integrated into a shared codebase.

Continuous integration (CI) automates test runs as code changes are pushed, helping teams catch problems early. Git hooks can also run tests locally before a commit or push. section 11.7

Common ways to automate test runs include:

  • A Git pre-commit hook runs non-API tests and prevents the commit if they fail. section 11.7
  • A pre-push hook can run tests before code is pushed; CI services such as GitHub Actions can run tests on pushes and notify teams of failures. section 11.7
Figure 11.5 Flowchart showing how the app code and test code evolve.

The flowchart shows how app code and tests evolve together. section 11.7

How Build Python Web Apps with Streamlit covers it

How deep it goes
Shows a pre-commit hook and mentions pre-push hooks and GitHub Actions, but gives no CI-service configuration.
Examples
Uses a Git pre-commit hook for non-API tests and names pre-push hooks and push-triggered GitHub Actions.
What it assumes
Assumes an existing test suite and uses Git when automating checks with repository hooks.
What you can do after
Operate automated checks with Git hooks or CI runs on pushes, blocking failing commits or notifying teams of failures.
How it connects
Links continuous integration with automated testing, Git, pre-commit hooks, and GitHub Actions.

Also explained in

Compare how 30 books explain deployment pipeline →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Build Python Web Apps with Streamlit. The section links point to the parts of the book it draws on.