A simple CLI library system implemented in Python. This repository serves as an example project for demonstrating CI/CD practices, particularly the use of Jenkins and Docker to automatically deploy Sphinx-generated documentation.
- Basic command-line interface for managing a library system
- Structured to support Sphinx documentation generation
- CI/CD pipeline setup with Jenkins and Docker for automated documentation deployment
- Python 3.x
- Docker
- Jenkins (optional, for local testing of the pipeline)
- Sphinx (for building documentation locally)
-
Clone the repository:
git clone https://github.com/AndykingSkywalker/Sphinx-Project-Example.git cd Sphinx-Project-Example -
(Optional) Create and activate a virtual environment:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install dependencies:
pip install -r requirements.txt
To run the CLI library system:
python main.py(Assuming main.py is the entry point. Update if your entry point differs.)
Follow the on-screen prompts to use the library management features.
To build the documentation locally:
cd docs
make htmlThe generated documentation can be found in docs/_build/html.
This repository is configured to demonstrate:
- Jenkins Pipeline: For automating tests and documentation builds.
- Docker: To encapsulate the build and deployment process.
On each commit or pull request, Jenkins will:
- Build and test the project.
- Generate Sphinx documentation.
- Deploy the documentation using Docker.
Refer to the Jenkinsfile and Dockerfile for pipeline implementation details.
Pull requests are welcome! For major changes, please open an issue first to discuss what you would like to change.
This project is licensed under the MIT License.
Project maintained by AndykingSkywalker.