prisma / prisma-1-cloud-feedback

Feedback for Prisma Cloud
https://app.prisma.io
5 stars 4 forks source link

Make upgrading Prisma easier when using Heroku integration #202

Open marktani opened 6 years ago

marktani commented 6 years ago

Right now, the Docker image for the Heroku integration is managed by us, and directly set up to Heroku. There is no easy way to then upgrade the Prisma version once the server is deployed to Heroku.

We could add an upgrade feature right into Prisma Cloud.

Another related improvement is to offer the most recent version when setting up the server in the first place: #203.

RishitKedia commented 6 years ago

@marktani

Hey, thanks for creating this issue, Nilan. πŸ™

This is something a lot of people using the Heroku integration (including myself) need in order to continue using the integration, IMO.

I'm nearing launch in a couple of weeks (and Slack tells me that others are too!), and would love to have this feature of upgrading our Prisma servers hosted on Heroku through Prisma Cloud.

If I may suggest, this should be high up in your priority list if it's not, because I'd prefer to run the latest versions of Prisma in production sooner rather than later, but certainly not to mean in any way that v1.11-beta is not production-ready. πŸ˜‹

alnutaifi commented 6 years ago

There are a lot of bugs fixed by 1.13 that are essential. would be nice if we can get at least 1.13 please πŸ‘ ... I am nearing launch of two client projects and this is a deal-breaker,

thanks alot for the great work πŸ‘

wwwillchen commented 6 years ago

Just to chime in, it would be nice to have a doc on "how-to upgrade" yourself. Like others, I initially used Prisma's Heroku integration which was very easy to get started with.

I think I figured out how to do an upgrade but it seemed a bit sketchy since I wasn't sure what I was doing :) If someone from the Prisma team can verify my steps (and maybe turn it into an official doc), that would be great.

Here's what I read:

Here's the exact steps I ran:

  1. Pulled the docker image w/ the tag mentioned above: docker pull prismagraphql/prisma:1.14-heroku
  2. Looked up the image id from the image I just pulled using: docker images
  3. Using that image id, I tagged it to my Heroku repo: docker tag b94e6d0d0939 registry.heroku.com/${HEROKU_APP_NAME}/web
  4. Pushed the image to my heroku repo: docker push registry.heroku.com/${HEROKU_APP_NAME}/web
  5. Finally, release this image to Heroku: heroku container:release web --app=${HEROKU_APP_NAME}

I did a bit of manual testing after the release and it seems OK, but I would caution other people from following this as I winged it :)

btroia commented 6 years ago

@wwwillchen Thanks, this works great! One small addition to your instructions (in case anyone runs into the same issue) is you may need to run heroku container:login before step 4 (docker push registry.heroku.com/${HEROKU_APP_NAME}/web) otherwise you may see an error saying no basic auth credentials πŸ‘

milesmcc commented 6 years ago

This process worked very well for me. :+1:

stefanoTron commented 6 years ago

looks like it's working fine πŸ˜ƒwent from 1.11-beta to 1.16-beta-1

screen shot 2018-09-06 at 09 12 50
MJones180 commented 6 years ago

This does not seem to work, when I try and upgrade to 1.17 it raises errors about the db structure. When I even try to upgrade to 1.14 the queries are returning odd responses.

teunrutten commented 5 years ago

I went through the same process, but when I pushed the tag I got the following message:

Releasing images web to ****... done β–Έ The process type web was not updated, because it is already running the specified docker image.

The prisma cloud is still showing me 1.11-beta. Anyone having the same problem or a solution?

teunrutten commented 5 years ago

I went through the same process, but when I pushed the tag I got the following message:

Releasing images web to ****... done β–Έ The process type web was not updated, because it is already running the specified docker image.

The prisma cloud is still showing me 1.11-beta. Anyone having the same problem or a solution?

Feeling quite stupid:

For anyone having the same issue as me, make sure you use heroku container:login before trying to push to the registry. Pushing doesn't give a clear error so if you try to release without logging in you will get the above error.

jhalborg commented 5 years ago

picked 1.14-heroku (not sure what the difference is in *-heroku tags, but it sounded reasonable. Could someone from Prisma explain the difference?)

That'd be great! πŸ˜„ I'm not using the integration, I'm just hosting my Prisma server on Heroku, but I'm having some trouble. Some clarification about what the difference is and which to use when would be great!

matepapp commented 5 years ago

I've updated our heroku servers from 1.23 to 1.29 prisma version with the steps from above (thanks @wwwillchen πŸ™Œ ). One thing I've noticed after the successful version bump, that the servers list page on Prisma Cloud shows the earlier versions. I thought that it might cached it, but after cleaning my cache and reloading the page it stayed the same, earlier version.

Screenshot 2019-03-29 at 11 41 47

Although if I navigate to the server detail page it shows the correct, updated version.

Screenshot 2019-03-29 at 11 46 30

liamdanielduffy commented 5 years ago

@divyenduz @nikolasburk could you give us an idea of where this is on the prisma cloud roadmap?