I follow the steps in the docs to deploy my first app.
It is a go app based on this doc.
When I run:
➜ flyctl launch
An existing fly.toml file was found for app drio-fly-test
App is not running, deploy...
==> Building image
Remote builder fly-builder-shy-smoke-5052 ready
==> Building image with Buildpacks
--> docker host: 20.10.12 linux x86_64
base: Pulling from paketobuildpacks/builder
Status: Image is up to date for paketobuildpacks/builder:base
base-cnb: Pulling from paketobuildpacks/run
Status: Image is up to date for paketobuildpacks/run:base-cnb
latest: Pulling from paketo-buildpacks/go
Status: Image is up to date for gcr.io/paketo-buildpacks/go:latest
flyctl gets stucked without making any progress. I don’t see any traffic on my nic. Not sure what may be happening.
I am using:
➜ flyctl version
flyctl v0.0.450 darwin/arm64 Commit: 51325e4a BuildDate: 2023-01-13T21:54:03Z
After a few minutes the process continues successfully (see below).
I think the issue was that docker could not pull the
gcr.io/paketo-buildpacks/go:latest and the timeout was set pretty high. I think I had to wait for 5 minutes or so.
Adding layer 'paketo-buildpacks/ca-certificates:helper'
Adding layer 'paketo-buildpacks/go-build:targets'
Adding 1/1 app layer(s)
Adding layer 'launcher'
Adding layer 'config'
Adding layer 'process-types'
Adding label 'io.buildpacks.lifecycle.metadata'
Adding label 'io.buildpacks.build.metadata'
Adding label 'io.buildpacks.project.metadata'
Setting default process type 'fly-test'
*** Images (1c8a1d6e97a8):
Adding cache layer 'paketo-buildpacks/go-dist:go'
Adding cache layer 'paketo-buildpacks/go-build:gocache'
--> Building image done
==> Pushing image to fly
The push refers to repository [registry.fly.io/drio-fly-test]
deployment-01GQ5VVM8KVESQFJHEF7X95C6S: digest: sha256:98ccba1c7e4f8e6af40b94b6383b270d62d647f173a4d8d0ff048090384e3233 size: 3030
--> Pushing image done
image size: 102 MB
==> Creating release
--> release v2 created
--> You can detach the terminal anytime without stopping the deployment
==> Monitoring deployment
1 desired, 1 placed, 1 healthy, 0 unhealthy [health checks: 1 total, 1 passing]
--> v0 deployed successfully
That long pause is when buildpacks is resolving all the steps for each builder. This can take some serious time unfortunately. We suggest folks use a Dockerfile to get faster builds and smaller images.