teamhephy / builder

MIT License
3 stars 12 forks source link

Deis does a duplicate build after pushing, uses different registry #5

Open Cryptophobia opened 6 years ago

Cryptophobia commented 6 years ago

From @bcokert on July 20, 2017 19:57

When I deploy my app in deis (a Dockerfile app), it builds twice. The first time succeeds, and the second time fails. This doesn't seem to affect the resulting application (since it fails on step 1 of the dockerfile), but it is still quite annoying.

> git push deis BRANCH
... regular output
Step 11 : CMD
 ---> Running in da8aa48f52c6
 ---> 39fc0d76f49b
Removing intermediate container da8aa48f52c6
Successfully built 39fc0d76f49b
Pushing to registry
Build complete.->
Launching App...
...
Done, enlightning-staging:v5 deployed to Workflow

Use 'deis open' to view this application in your browser

To learn more, use 'deis help' or visit https://deis.com/

Starting build... but first, coffee!
Step 1 : FROM companyRegistry/base/ubuntu-14.04:latest
Get https://companyRegistry/v1/_ping: dial tcp 52.0.154.17:443: i/o timeout
remote: 2017/07/20 18:41:14 Error running git receive hook [Build pod exited with code 1, stopping build.]
To ssh://internalDeisBuilder:2222/enlightning-staging.git
! [remote rejected] DEPLOY-PRODUCTION-2.0.1 -> master (pre-receive hook declined)
 ! [remote rejected] v0.2.0 -> v0.2.0 (pre-receive hook declined)
 ! [remote rejected] v0.2.1 -> v0.2.1 (pre-receive hook declined)
 ! [remote rejected] v0.2.2 -> v0.2.2 (pre-receive hook declined)
 ! [remote rejected] v0.2.3 -> v0.2.3 (pre-receive hook declined)
 ! [remote rejected] v0.3.0 -> v0.3.0 (pre-receive hook declined)
 ! [remote rejected] v0.4.0 -> v0.4.0 (pre-receive hook declined)
 ! [remote rejected] v0.4.1 -> v0.4.1 (pre-receive hook declined)
 ! [remote rejected] v0.4.2 -> v0.4.2 (pre-receive hook declined)
 ! [remote rejected] v0.4.3 -> v0.4.3 (pre-receive hook declined)
 ! [remote rejected] v0.4.4 -> v0.4.4 (pre-receive hook declined)
 ! [remote rejected] v0.4.5 -> v0.4.5 (pre-receive hook declined)
 ! [remote rejected] v0.5.0 -> v0.5.0 (pre-receive hook declined)
 ! [remote rejected] v0.6.0 -> v0.6.0 (pre-receive hook declined)
 ! [remote rejected] v0.7.0 -> v0.7.0 (pre-receive hook declined)
 ! [remote rejected] v0.8.0 -> v0.8.0 (pre-receive hook declined)
 ! [remote rejected] v0.8.1 -> v0.8.1 (pre-receive hook declined)
 ! [remote rejected] v0.8.2 -> v0.8.2 (pre-receive hook declined)
 ! [remote rejected] v0.9.0 -> v0.9.0 (pre-receive hook declined)
 ! [remote rejected] v0.9.1 -> v0.9.1 (pre-receive hook declined)
 ! [remote rejected] v0.9.2 -> v0.9.2 (pre-receive hook declined)
 ! [remote rejected] v0.9.3 -> v0.9.3 (pre-receive hook declined)
 ! [remote rejected] v1.0.0 -> v1.0.0 (pre-receive hook declined)
 ! [remote rejected] v1.1.0 -> v1.1.0 (pre-receive hook declined)
 ! [remote rejected] v1.2.0 -> v1.2.0 (pre-receive hook declined)
 ! [remote rejected] v1.3.0 -> v1.3.0 (pre-receive hook declined)
 ! [remote rejected] v1.3.1 -> v1.3.1 (pre-receive hook declined)
 ! [remote rejected] v1.3.2 -> v1.3.2 (pre-receive hook declined)
 ! [remote rejected] v1.3.3 -> v1.3.3 (pre-receive hook declined)
 ! [remote rejected] v1.3.4 -> v1.3.4 (pre-receive hook declined)
 ! [remote rejected] v1.3.5 -> v1.3.5 (pre-receive hook declined)
 ! [remote rejected] v1.4.0 -> v1.4.0 (pre-receive hook declined)
 ! [remote rejected] v1.5.0 -> v1.5.0 (pre-receive hook declined)
 ! [remote rejected] v1.6.0 -> v1.6.0 (pre-receive hook declined)
 ! [remote rejected] v1.6.1 -> v1.6.1 (pre-receive hook declined)
 ! [remote rejected] v1.6.2 -> v1.6.2 (pre-receive hook declined)
 ! [remote rejected] v1.6.3 -> v1.6.3 (pre-receive hook declined)
 ! [remote rejected] v1.7.0 -> v1.7.0 (pre-receive hook declined)
 ! [remote rejected] v1.7.1 -> v1.7.1 (pre-receive hook declined)
 ! [remote rejected] v1.7.2 -> v1.7.2 (pre-receive hook declined)
 ! [remote rejected] v1.8.0 -> v1.8.0 (pre-receive hook declined)
 ! [remote rejected] v1.8.1 -> v1.8.1 (pre-receive hook declined)
 ! [remote rejected] v1.8.2 -> v1.8.2 (pre-receive hook declined)
 ! [remote rejected] v1.8.3 -> v1.8.3 (pre-receive hook declined)
 ! [remote rejected] v1.9.0 -> v1.9.0 (pre-receive hook declined)
 ! [remote rejected] v1.9.1 -> v1.9.1 (pre-receive hook declined)
 ! [remote rejected] v1.9.2 -> v1.9.2 (pre-receive hook declined)
 ! [remote rejected] v1.9.3 -> v1.9.3 (pre-receive hook declined)
 ! [remote rejected] v1.9.4 -> v1.9.4 (pre-receive hook declined)
 ! [remote rejected] v1.9.5 -> v1.9.5 (pre-receive hook declined)
 ! [remote rejected] v2.0.0 -> v2.0.0 (pre-receive hook declined)
 ! [remote rejected] v2.0.1 -> v2.0.1 (pre-receive hook declined)
error: failed to push some refs to 'ssh://git@internalDeisBuilder:2222/enlightning.git'

Looking at the second build, you can see that it tries to use the company registry for the base image, which is where it fails. The successful build does not do this:

Step 1 : FROM ubuntu:14.04
 ---> 54333f1de4ed
Step 2 : MAINTAINER Brandon Okert <brandon.okert@hootsuite.com>
 ---> Using cache
 ---> 9598ac5bd5dd
...

I do have both registries on my development machine:

> cat ~/.docker/config.json
{
    "auths": {
        "companyRegistryUrl": {
            "auth": "xxx",
            "email": "xxx"
        },
        "https://index.docker.io/v1/": {
            "auth": "xxx",
            "email": "xxx"
        }
    }
}

But I don't think this would affect deis.

Also, it's strange that it reports all those tags as well; as if it's thinking about building each one. There's only the one Dockerfile in the branch that I'm pushing.

Cheers!

Copied from original issue: deis/builder#521

Cryptophobia commented 6 years ago

From @bacongobbler on July 20, 2017 23:28

It almost looks like git is attempting to push all your branches at once to the builder. What happens with git push deis master?

Cryptophobia commented 6 years ago

From @bcokert on July 21, 2017 21:35

@bacongobbler I tried with git push deis master and the same issue occurred.