Skip to content

Continuous Deployment

amoloney1 edited this page Nov 25, 2019 · 7 revisions

Specification

General Requirement

  • Staging instance will automatically track a designated branch in the Github repo.
  • sysadmin must be able to get a box rebuilt in a stable, reproducible manner
  • Rel-eng needs to be able to trigger composes
  • Improved current staging instance checks or create a new process that will not render staging unusable with more frequent builds or deploys
  • Automated integration testing in koji staging instance

Goals

Phase One - Deliverable by 2019-12-20

  • automatically build the containers from Git
  • automatically update staging environment with the latest containers in VM & OpenShift

Phase Two - Deliverable by TBD (to be determined)

  • Use this automation then in production and release branching
  • Create a staging environment that does not rely solely on RPM's
  • Ensure a healthy staging instance for future releases
  • Create a better testing environment so that when testing beta builds in staging, the staging Koji instance has all the data from production, and its database is synchronized with production data at the same time that Bodhi’s database was.

Background and strategic fit

The team are currently deploying Bodhi manually with ansible playbook. This is causing a lot of overhead on the team and we wish to reduce the amount of effort it is taking to manually test in staging. We want to achieve automatic deployment to on commit to staging branch in github.

Team Workflow, Where We Work and Deliverable Dates

Team Workflow:

  • We will be working on completing tickets in our kanban board in GitHub
  • This work is on a part time basis and the team will prioritize according to other work that may have a higher priority or more aggressive timeline to meet

Where We Work:

  • We will be using github for branching
  • We will be using the wiki in github to document the milestones, goals and requirements of this project
  • We will be using a kanban board in github to log issues and use a pull basis to progress the issues to a 'done' stage

Deliverable Dates

  • 2019-12-10: Ability to automatically build containers from git
  • 2019-12-20: Ability to automatically update staging environment with the latest containers in VM & OpenShift

Documentation Update Considerations

  • Updates to fedoraprject.org
  • Updates to read-the-docs.io
  • Upates to ansible playbook

Keep an eye on our wiki page for project updates and milestones reached!

Detailed Requirements

This project table represents the detailed requirements which are in scope.