softwarecollections icon indicating copy to clipboard operation
softwarecollections copied to clipboard

Update the codebase to allow for cloud-based deployment

Open khardix opened this issue 7 years ago • 4 comments

The current method of deployment -- building a Fedora-based RPM and installing it on dedicated system -- requires dedicated maintenance effort: The site (and all of its dependencies) needs to be kept regularly ported to a version of Django present in any currently supported Fedora version. Failure to do so results in need to run the site on unsupported version of OS.

There is also kind of vendor lock-in -- the site is only deployable on RPM based distribution.

Replacing the RPM-based deployment with something more generic and pythonic, such as utilizing a pypi/virtualenv based workflow, would offer a great flexibility in deploying to any platform deemed convenient.

Proposed plan

  • [x] Enable local development in virtual python environment, preferably using Pipenv
  • [x] Update the codebase to be compatible with more Django versions, specifically the current 2.* branch
  • [ ] Replace the RPM deployment with more generic one
    • The deployment should ideally be as simple as $ pip install softwarecollections[production]
    • Current RPM can be replaced with simplified, "wrapper" version of the above.
  • [ ] Provide instructions (Dockerfile, template) for deploying the site on OpenShift instance.

khardix avatar Sep 05 '18 12:09 khardix

This is intended to be mainly a discussion/tracking issue, with separate PRs for concrete enhancements. I have experimented with/prepared code for several aforementioned steps, but I would like to know if anyone has any comments/issues with the current plan, or is interested and/or available in helping with this changes.

Any comments, @misli, @asamalik, @xsuchy?

khardix avatar Sep 05 '18 12:09 khardix

Since no one mentioned has any comments, I assume that the described course is desired and will go ahead with it 😉.

khardix avatar Sep 12 '18 08:09 khardix

As of commit 823c2e8, the Pipenv/setup.py based workflow is supported.

khardix avatar Sep 13 '18 10:09 khardix

As of commit 2ccb51b04553b1275f05c53ccb2c3b3fef158878, the codebase is compatible with Django 2.1.

khardix avatar Sep 25 '18 13:09 khardix