Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Automate Nebula API Deployments #303

Open
pr1sm opened this issue Feb 4, 2019 · 0 comments
Open

Automate Nebula API Deployments #303

pr1sm opened this issue Feb 4, 2019 · 0 comments
Labels
area:api Related to Nebula's Public API priority:low Issues that are low priority don't need to be solved right away type:Feature Request Something that might be done in the future

Comments

@pr1sm
Copy link
Collaborator

pr1sm commented Feb 4, 2019

Is your feature request related to a problem? Please describe.
Currently we release the nebula api by performing a complex git subtree operation to move the api source files to the root level, then delete the rest of the source files (since heroku requires the procfile on the root level). This leads to several manual changes that have to be made and turns what should be an easy process into a long, tedious one.

Describe the solution you'd like
Ideally, we should have a single script that automatically prepares and deploys an update for the api project. This script should include the following steps:

  1. Preparing the correct file structure before pushing to heroku
  2. Building the api source files (perform babel translation)
  3. Push to heroku to complete deployment

Additionally, another pain point with heroku is making sure we have the correct setup to run the app. We recently switched to using yarn, instead of npm, so our deployment commands are different from development. This should be corrected.

Describe alternatives you've considered
There are several alternatives to what I'm proposing, but I haven't done much research into all of them yet. Will try to update this issue as I get more time for research:

  1. Continue with the current method - This isn't the end of the world, since we don't have many updates to the api, but will become more unstable over time
  2. Research heroku deployment packs to handle monorepo updates - this is a viable option, but I'm not sure if this pack exists or if we would have to write it ourselves. This could remove our need to perform a git subtree operation, but it might include needing to push the entire monorepo codebase, which is much bigger than just the api -- not a dealbreaker, but something to think about.

Additional context
The script I'm proposing would be a simple bash script or powershell script that would run locally to perform the deployment. While it wouldn't be completely "automated," this would be considerably easier than our current workflow. This script could be the basis of a completely automated solution since it would handle all the necessary setup we need to deploy to heroku.

@pr1sm pr1sm added type:Feature Request Something that might be done in the future area:api Related to Nebula's Public API labels Feb 4, 2019
@pr1sm pr1sm added the priority:high Issues that are high priority, but don't need to be solved ASAP label Feb 11, 2019
@walmat walmat added priority:low Issues that are low priority don't need to be solved right away and removed priority:high Issues that are high priority, but don't need to be solved ASAP labels Aug 15, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area:api Related to Nebula's Public API priority:low Issues that are low priority don't need to be solved right away type:Feature Request Something that might be done in the future
Projects
None yet
Development

No branches or pull requests

2 participants