Workflow to make a change to the platform in DevStack, deploy it to my Native instance

I am part of a team working with OpenEdX. To date we have not had to make any platform changes, but we expect that to change. We cannot predict the changes, as yet, so I’ve been asked to learn how we might deal with the hardest case - changes to the platform.

I have a DevStack running locally. I have a Native installation running on an EC2 instance in AWS. I’ve made a trivial change to lms/templates/index_overlay.html. I can see the change in the landing page, locally.

How do I get that change into my openEdx instance in AWS?

Is it possible to stay with Native or do I have to drop down to Manual? As I understand, that would involve pulling the Native Ansible scripts apart. Before I do that, I’d like to see if there is a simpler workflow that would allow me to take advantage of Native as long as possible.

I see posts about making changes in DevStack, but nothing says how to push such changes to a production environment. I suspect this is so simple, it’s obvious, but I’m missing something. Be merciful :slight_smile:

Hi @rconaway58, could you explain how did you deployed that native installation in the first place? So we can help you using the same deployment process.

I basically used these instructions from the Wiki:

Also, I realized these instructions put git repositories under /edx. So, I’m guessing that connecting those repositories with the ones used by DevStack might be part of the solution.

@rconaway58, Yes you can do that. In the config.yml you also could add a config like this one, in order to change the repo, for instance with a fork:

edx_platform_repo: ""

# Not sure if this gets overrided by the OPENEDX_RELEASE virtualen environment
edx_platform_version: "master" 

@morenol Sorry I didnt understand.

Lets say I have made changes in DevStack. How do I reflect those changes to Native installation exists in either aws/azure/GCP.
If you have list the steps one after the other, it really helps me as well as community.

The steps would be something like this, I am assuming that you are using the steps of

  1. Create a fork of edx-platform
  2. Push your changes to a branch of that fork
  3. Add in config.yml
edx_platform_repo: "<Your github org>/edx-platform.git"

edx_platform_version: "yourbranch" 
  1. Run the deployment as described in