Docker Community Forums

Share and learn in the Docker community.

Automated build not picking up changes in github repo


(Jkilbride) #1

I have been using the automated build system for a couple of months, now, without any issues. However, I updated my jkilbride/node-npm-alpine docker image to Node 6.3.1 today and pushed the latest changes / tags to my github repo. Docker Hub isn’t recognizing the changes and building the new images. I tried kicking off the build with a build trigger, as well as deleting the tags and re-committing to github. Nothing has worked.

Is anyone else experiencing problems with the automated builds recently? Thanks!


Automated build never builds!
(Jkilbride) #2

Wow. Ten days and not a single reply? No one else is having problems with this?

I just tried pushing my latest tags again this morning and the automated build still isn’t picking them up. Did something change recently? Anybody have any insight as to what’s going on?

Thanks.


(Pukkasoftware) #3

@jkilbride - I have the same issue here: Autobuild and autodeploy not pulling updated images

The only way to pick up the change is to terminate the service but that removes the definition from the stack config! I’ve submitted a paid support request.


(Jkilbride) #4

@pukkasoftware - Thanks for the reply! I would be very interested in hearing of any resolution you may get to your support request. I’ll keep checking the thread you mentioned above.

My setup is very simple. I’m not even deploying anything. I’m only grabbing tags from my github repo to create an automated build. It’s just a base image I pull in manually to other projects. If they can’t fix this soon, I’ll have to revert to building locally and pushing the image to Docker Hub.

I can’t believe more people haven’t noticed / reported this. Seems like there are a lot of projects using the automated build system with GitHub. I would expect them all to be affected.


(Fernando Mayo) #5

@jkilbride are you referring to the fact that the build is not triggered, that the build gets triggered by the source code checked out is not what you expect, or that the build is triggered, the source is what you expect, it pushes the result, but when you pull it you get an old image?


(Jkilbride) #6

@fermayo - The build is not triggered.

In my “Build Settings”, I am using the “Tag” type with the default regex to pickup all tags. After I make changes to my code and push to GitHub, I then push new tags. In the past, the automated build would start immediately after pushing the new tags. Now, the build simply doesn’t start.

I have also tried using the manual triggers to start the build. Using curl from the command line, the trigger returns ‘OK’, but again the build never starts.


(Pablo Chico de Guzman Huerta) #7

@jkilbride Have you given a try to Docker Cloud? It is integrated with Docker Hub (all your Hub repos appear immediately) and it has more features like the ability to cancel/retry a build, streaming logs, tests on pull requests, … I would be surprised if it does not work on Docker Cloud, but let me know if you want to keep using Docker Hub and I will double check you issue.


(Jkilbride) #8

@pchico83 - I have not tried Docker Cloud. Eventually, I may give it a try, but for now I would just like to get Docker Hub working. As I said, I have been using Docker Hub with no problems for a few months now. I would like to understand what has changed to make the automated builds stop working.


(Jkilbride) #9

UPDATE

I have just tested another one of my Docker Hub / GitHub automated build repos: jkilbride/php-fpm-alpine. I made a small change to my README file and pushed the changes to GitHub. For this repo, the automated build worked as expected. As soon as I pushed the changes, Docker Hub began building a new image. The build settings for this repo use the default master branch settings. (My GitHub master branch is used to build a Docker “latest” tag…)

So, it seems like automated builds using GitHub branches are working, whereas automated builds using GitHub tags are not. That’s the only difference I can see between these two repos. For whatever reason, Docker Hub is no longer recognizing when I update my GitHub tags in my jkilbride/node-npm-alpine repo.


(Pukkasoftware) #10

@jkilbride - did the new image actually deploy? That is our problem - the build runs without an issue but it requires terminating the stack to pick up a new image. A redeploy does not do it (whether manual or autoredeploy: true).


(Jkilbride) #11

@pukkasoftware - I’m not deploying my images from Docker Hub. I only use Docker Hub to host them. They are base images that I pull into other projects via the “FROM” command in my Dockerfiles. I only put them here for convenience and to allow others to use them, if they are interested. So, unfortunately, I can’t speak to your issue of the image not deploying.

Sorry, wish I could help!


(Jkilbride) #12

UPDATE

Ok, I was finally able to get the automated builds to run by using the more specific build trigger:

curl -H "Content-Type: application/json" --data '{"source_type": "Tag", "source_name": "latest"}' -X POST https://registry.hub.docker.com/u/jkilbride/node-npm-alpine/trigger/XXXXXXXXXXXXXXX

Notice, I am specifying the “source_type” and “source_name” variables. The generic “build everything” trigger does NOT work. Also, the build throttle on the triggers seems very finicky. Sometimes when I tried to queue more than one Tag it would work, other times only the first Tag would be accepted and the others would be ignored. I am putting this here for anyone else who may run into this problem.

However, the automated builds based on Tag creation / updates in my GitHub repo are still definitely NOT working. I realize this is a free service for public repos like mine, but it’s been broken for at least two weeks now. It would be nice if the Docker Staff would take a look and at least acknowledge the problem. I am more than willing to help resolve it in any way that I can.


(Jkilbride) #13

The automated builds based on Tags are STILL not working. I am still having to trigger the builds manually using CURL.