Isaiahensley / Aquatic-RIG

Our Senior Capstone project focuses on developing a Streamlit website dedicated to the visualization of aquatic NetCDF datasets. Aquatic data is inherently complex, being both spatiotemporal—capturing information over different times and space. Our website will let users alternate through time and depth to give comprehensive visuals for their data.
https://aquaticrig-develop.streamlit.app/
0 stars 1 forks source link

Pipeline Presentation #35

Closed Isaiahensley closed 8 months ago

Isaiahensley commented 11 months ago

Submit your slides or documents used for the pipeline presentation

blackm61 commented 11 months ago

It's due Tuesday, December 5th.

blackm61 commented 10 months ago

Pipeline Presentation Outline.docx

We will use this as a guide for Pipeline Presentation.

spaude11 commented 9 months ago

What will be included in pipeline presentation: I got reference from maria's file above Introduction: Development Pipeline for app release Overview of pipeline: It is described below Development Stage: Development tools and how we gonna integrate those into building our website Testing Stage: Alpha, Beta, General Availability Stage(IDK if we need to have these since ci/cd will have automated testing, but we can change the stage name to be release for example alpha release, beta release) Quality Assurance(Continuous Feedback and Improvement) Conclusion: Q&A; ci-cd-flow-desktop_0

What is development pipeline; A pipeline presentation involves visualizing these stages, the tools used at each stage and flow of code from development to production Development Pipeline goal is to automate repetitive tasks, ensure code quality and accelerate the delivery of software update with confidence. CI/CD focuses maily on automation for building, testing and deploying code. The objective is to minimize human errors and maintain consistent process for how software us released.

CI Pipeline roadmap: Central Repository>>>>Local Repository>>>>Create Branch>>>>Pull Request>>>>Automated Testing>>>>>(After passing the testing)>>>>Review by manager/QA>>(Tide Pull: All the pull request are located after pushing the code to main repository)>>Merge>>>Central Repository

spaude11 commented 9 months ago

Development Pipeline: Dec-Jan: Review all the tools on holidays Jan-Feb- Coding, Testing Feb-March- Alpha release at the first of month and Beta release at the last of month/Client involvement March-April: General availability and client review

spaude11 commented 9 months ago

Lets divide the work for making the slides

spaude11 commented 9 months ago

development tools for stages/// Integrating Scrum, CI/CD practices, and Streamlit into a cohesive pipeline requires thoughtful planning and coordination. Below is a step-by-step guide to help you integrate these elements seamlessly:

  1. Define the Development Workflow: Establish a clear workflow that includes Scrum events (Sprint Planning, Daily Stand-ups, Sprint Review, and Sprint Retrospective) and CI/CD processes (Code Commit, Build, Test, Deploy). Define how Streamlit development and testing fit into this workflow.
  2. Version Control: Use a version control system like Git for source code management. Ensure that all team members follow best practices for branching and merging in a collaborative development environment.
  3. Backlog Management: Use a tool for backlog management, such as Jira or Trello, to track user stories and tasks. This helps in Scrum planning.
  4. Sprint Planning: Use the Sprint Planning meeting to select Streamlit-related tasks from the backlog. Define user stories and tasks that align with Streamlit development goals.
  5. Development with Streamlit: Follow the principles of Scrum to develop Streamlit applications incrementally during each Sprint. Use feature branches in your version control system for isolated development of Streamlit features.
  6. Automated Builds (CI): Set up CI tools (Jenkins, Travis CI, GitHub Actions) to trigger automated builds whenever changes are pushed to the version control repository. Ensure that Streamlit dependencies are installed during the build process.
  7. Automated Testing (CI): Implement automated testing for your Streamlit application. Include unit tests, integration tests, and any other relevant tests in your CI pipeline.
  8. Artifact Management (CI): Store built artifacts (e.g., Streamlit app) in a repository. Ensure that each build is versioned and traceable.
  9. Deployment (CD): Set up deployment pipelines that automatically deploy your Streamlit app to development, staging, and production environments based on successful CI builds. Configure environment-specific settings using CI/CD tools or environment variables.
  10. Monitoring and Logging: Integrate monitoring and logging mechanisms into your Streamlit app. Monitor key performance metrics and log relevant information for debugging and analysis.
  11. User Feedback Loop: Encourage users to provide feedback during Sprint Reviews. Use user feedback to inform backlog refinement and future development cycles.
  12. Sprint Retrospective: Reflect on the development process during Sprint Retrospectives. Identify improvements and adjustments for the next Sprint.
  13. Documentation: Maintain documentation for your Streamlit app, including installation guides, usage instructions, and any relevant technical documentation.
  14. Continuous Improvement: Continuously improve the integration pipeline based on feedback and lessons learned from each Sprint. By integrating these elements, you create a streamlined and efficient pipeline that supports continuous development, testing, and delivery of your Streamlit application. This approach aligns with Agile principles, allowing your team to adapt to changing requirements and deliver incremental value to users regularly.
Isaiahensley commented 9 months ago

Pipeline - AquaticRIG.pptx