pducharme / UniFi-Video-Controller

Docker for Unifi-Video Controller (Ubiquiti Networks)
199 stars 105 forks source link

Update to v3.9.5. #81

Closed fryfrog closed 6 years ago

fryfrog commented 6 years ago

I've currently got this running, no issues so far. Will merge to master, then probably push to release tomorrow morning.

ctindel commented 6 years ago

@fryfrog Have you considered adding travis to these repos so that it can auto build and auto push to docker hub whenever you merge to master? You guys are better about maintaining this stuff, so I was thinking I would deprecate the images that I run and just point people here, until ubnt modernize and start shipping an official docker image.

Take a look at how I do it, would be happy to help.

https://github.com/ctindel/ubiquiti-docker/blob/master/.travis.yml

fryfrog commented 6 years ago

I actually have my own copy of the repo pushing master to docker hub as a :testing image, on this repo the release branch auto pushes to docker hub as :latest and I make a label for the version.

I did the upgrade last night and left it running, intending to push to release here today for auto-update and make the tag.

So I think it already does what you're suggesting, just for the release branch instead of master (which is a recent, intentional change).

ctindel commented 6 years ago

@fryfrog Well I saw you did a 3.9.5 build last night but there was no 3.9.5 tag in docker hub. So why not have your testing repo push it up with the 3.9.5 label, and then all the release branch has to do is swing the latest label over to 3.9.5 or something?

Also, how does it work? I don't see any travis configs here in this repo. I'm more curious than anything.

fryfrog commented 6 years ago

Dockerhub just has integration with github! Ours isn't very deep or complicated, I have my own github repo for this (a fork) and my own dockerhub that points at it. I push changes there and test them. Then a pull request and merge to this repo to master, followed by merging it to the release branch which is connected to dockerhub and builds the :latest tag. The version specific tag is done by hand at about the same time.

ctindel commented 6 years ago

Yeah I just mean why not have your auto-build also do the version specific tag? You shouldn't have to do anything but merge and then all the push and tagging can be automated.

fryfrog commented 6 years ago

The manual control over the release branch and tagging is so a human is making the decision about when they release and what they point at. Everything else is automated, including the builds. I just push to the release branch and the :latest build happens. Then I push a tag to that branch and the :1.2.3 build happens.

I don't know how I'd want the tagging to automate or how I'd automate the decision. Does the latest commit automatically get the version tag? And it'd have to pull that tag from somewhere (the Dockerfile?).

ctindel commented 6 years ago

In mine the tag is added from the Makefile. That's the only place the version number exists in the repo.

https://github.com/ctindel/ubiquiti-docker/blob/master/unifi-video/Makefile

My contention was always "I won't merge to master until I've tested and ready to ship", so building and adding the docker tag as soon as that happens made sense. I never bothered using github tags or release branches, since this project is so small and simple. Other people use github differently I guess.

fryfrog commented 6 years ago

Ahh, I see what you mean and I remember working up a diff based on your Makefile.

We ended up going a different route discussed in #3, if you wanted to read it.

And you're right, there are a ton of ways of github'ing. :)