Why do we have to push an image to a registry?
-
One needs to push the image only if your workflow involves building on one server and using the docker image in another cloudron/server. This is the workflow with @nebulon and i use. I guess we can adjust "cloudron build" to have a "cloudron build --no-push" or something? I am ok with this as long as it's explicit.
-
@girish said in Why do we have to push an image to a registry?:
cloudron build --no-push
That would be perfect and exactly what I was hoping for since I'm building the image in the Docker I'm updating / installing it on, I see no need for an extra push in there. I honestly love the
cloudron build && cloudron update
flow. And I'm looking forward to acloudron update --no-push && cloudron update
faster dev flow with theCloudron Build Service
being on the Cloudron instance itself. -
@girish said in Why do we have to push an image to a registry?:
I am giving this a shot. Will update this post accordingly.
I'm very grateful. I know helping developers on development servers can't be the top priority rn for you guys so anything like this is a godsend. Thank you!
Though I wanted to mention, the Build Service hasn't caused a single issue in any of my other apps despite it messing with Docker directly. It's pretty stable. I think my storage has gone down a little, so maybe some garbage collection logic is needed, but it's a very stable app.
-
@Lonk I gave this a shot:
- First, update the CLI tool to 4.5.4
- Then, update build service app as well to 1.4.1
- Then, box code needs this patch.
Then, you have
cloudron build --no-push && cloudron update
. I tested this flow a bit, there are some "quirks":- If you uninstall the app, the image will be removed.
- The build service app periodically removes images. It only keeps the latest image around and will also remove the image after 48 hours. BUT, if the image is in use by some app, it will be fine.
- Once all testing is done, once you are satisfied, you have to do a final "cloudron build" to actually pushes the images. This is only if you want to, of course.
I have to try it but I this flow is kind of nice because we don't keep pushing temporary/intermediate/junk images to the registry. In fact, the current flow only makes sense because docker registry is free for public images
-
@girish said in Why do we have to push an image to a registry?:
@Lonk I gave this a shot:
- First, update the CLI tool to 4.5.4
- Then, update build service app as well to 1.4.1
- Then, box code needs this patch.
Then, you have
cloudron build --no-push && cloudron update
. I tested this flow a bit, there are some "quirks":- If you uninstall the app, the image will be removed.
- The build service app periodically removes images. It only keeps the latest image around and will also remove the image after 48 hours. BUT, if the image is in use by some app, it will be fine.
- Once all testing is done, once you are satisfied, you have to do a final "cloudron build" to actually pushes the images. This is only if you want to, of course.
I have to try it but I this flow is kind of nice because we don't keep pushing temporary/intermediate/junk images to the registry. In fact, the current flow only makes sense because docker registry is free for public images
Thank you so much! You're amazing; I'm no stranger to
box
patches and have to maintain my own anyway, so I'll throw that one in the mix (it's even indocker.js
- my most patched file anyway.I did personally feel like I wasted a lot of bandwidth when I'm just a developer who only wants to "push" when I'm finished with code. Not my "one line of code will fix this" kinda thing.
So, yeah, this is really cool for us that have a full development Cloudron setup strictly for development.
Will the
box
patch be integrated into an update or will this remain a patch for developers (since we're likely the only ones who know how to patchbox
). -
@Lonk said in Why do we have to push an image to a registry?:
Will the box patch be integrated into an update or will this remain a patch for developers (since we're likely the only ones who know how to patch box).
https://git.cloudron.io/cloudron/box/-/commit/546e38132510e29792323a9947ac7cdf9aa55c98
The patch is in a commit in the
master
branch, so it will be in the next release -
--no-push
stopped working for me (it still builds, but doesn't skip the push). I checked thebox
patch and it's there. I checked the CLI tool and it still has the option. The Build Service Bot got more updates, was there an issue with the Bot. Can you reproduce this @girish with the latest Cloudron Build Service app? -
I just checked and this is literally the only commit you made after
v1.2.1
that could have broken this, it could be related if you can reproduce this at least. I'll try to roll back my Build Service Version in the meantime.Oh, the commit that could have caused this: https://git.cloudron.io/cloudron/cloudron-build-service/-/commit/5012542ecd7d538a37fe8f84cfab096c588f0ac2
-
@girish I swear this
--no-push
feature worked perfectly for me until the Build Service got updated. Does it still work on your install (since we're both running onmaster
rn - maybe it still works on stable, with the small patch, and it's a separatemaster
issue - jus' wanna check)?