我在数字海洋上设置了dokku Droplet。
自更新dokku以来,我无法git推送它(我尝试了三个不同的应用程序 - 所有失败的原因相同)。我收到以下错误。
remote: + usermod --home /app herokuishuser
To example.com:redisapp
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'dokku@example.com:redisapp'
我的应用程序是用node.js / express编写的,我能够在更新dokku之前推送它。我已启用日志记录 - 显示以下内容。我无法做出头脑或尾巴 - 所以需要深入了解可能出现的问题?
Robs-MacBook-Pro:redis_app rob$ git push dokku master
Counting objects: 1589, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (1540/1540), done.
Writing objects: 100% (1589/1589), 1.85 MiB | 0 bytes/s, done.
Total 1589 (delta 314), reused 0 (delta 0)
-----> Cleaning up...
-----> Building redisapp from herokuish...
-----> Adding BUILD_ENV to build environment...
remote: + [[ -d /tmp/app ]]
remote: + cmd-export paths
remote: + declare 'desc=Exports a function as a command'
remote: + declare fn=paths as=paths
remote: + local ns=
remote: ++ cmd-list-ns
remote: ++ grep -v :
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo :help
remote: ++ sort
remote: + CMDS["$ns:${as/#$ns-/}"]=paths
remote: + cmd-export version
remote: + declare 'desc=Exports a function as a command'
remote: + declare fn=version as=version
remote: + local ns=
remote: ++ cmd-list-ns
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo :help
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo :paths
remote: ++ sort
remote: ++ grep -v :
remote: + CMDS["$ns:${as/#$ns-/}"]=version
remote: + cmd-export herokuish-test test
remote: + declare 'desc=Exports a function as a command'
remote: + declare fn=herokuish-test as=test
remote: + local ns=
remote: ++ cmd-list-ns
remote: ++ ++ ++ sortgrep
remote: -v :
remote: for k in '"${!CMDS[@]}"'
remote: ++ echo :version
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo :help
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo :paths
remote: + CMDS["$ns:${as/#$ns-/}"]=herokuish-test
remote: + cmd-export-ns buildpack 'Use and install buildpacks'
remote: + declare ns=buildpack 'desc=Use and install buildpacks'
remote: + eval 'buildpack() {
remote: declare desc="Use and install buildpacks"
remote: cmd-ns buildpack "$@";
remote: }'
remote: + cmd-export buildpack
remote: + declare 'desc=Exports a function as a command'
remote: + declare fn=buildpack as=buildpack
remote: + local ns=
remote: ++ cmd-list-ns
remote: ++ sort
remote: ++ grep -v :
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo :version
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo :help
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo :test
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo :paths
remote: + CMDS["$ns:${as/#$ns-/}"]=buildpack
remote: + CMDS["$1"]=buildpack
remote: + cmd-export buildpack-build
remote: + declare 'desc=Exports a function as a command'
remote: + declare fn=buildpack-build as=buildpack-build
remote: + local ns=
remote: ++ cmd-list-ns
remote: ++ sort
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo :version
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo :help
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo :test
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo :buildpack
remote: ++ grep -v :
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo :paths
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo buildpack
remote: + for n in '$(cmd-list-ns)'
remote: + grep '^buildpack-'
remote: + echo buildpack-build
remote: + ns=buildpack
remote: + CMDS["$ns:${as/#$ns-/}"]=buildpack-build
remote: + cmd-export buildpack-install
remote: + declare 'desc=Exports a function as a command'
remote: + declare fn=buildpack-install as=buildpack-install
remote: + local ns=
remote: ++ cmd-list-ns
remote: ++ ++ grep -v :
remote: ++ sort
remote: for k in '"${!CMDS[@]}"'
remote: ++ echo :version
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo :help
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo :test
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo :buildpack
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo :paths
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo buildpack
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo buildpack:build
remote: + for n in '$(cmd-list-ns)'
remote: + grep '^buildpack-'
remote: + echo buildpack-install
remote: + ns=buildpack
remote: + CMDS["$ns:${as/#$ns-/}"]=buildpack-install
remote: + cmd-export buildpack-list
remote: + declare 'desc=Exports a function as a command'
remote: + declare fn=buildpack-list as=buildpack-list
remote: + local ns=
remote: ++ cmd-list-ns
remote: ++ ++ grep -v :
remote: sort
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo :version
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo :help
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo buildpack:install
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo :test
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo :buildpack
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo :paths
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo buildpack
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo buildpack:build
remote: + for n in '$(cmd-list-ns)'
remote: + echo buildpack-list
remote: + grep '^buildpack-'
remote: + ns=buildpack
remote: + CMDS["$ns:${as/#$ns-/}"]=buildpack-list
remote: + cmd-export-ns slug 'Manage application slugs'
remote: + declare ns=slug 'desc=Manage application slugs'
remote: + eval 'slug() {
remote: declare desc="Manage application slugs"
remote: cmd-ns slug "$@";
remote: }'
remote: + cmd-export slug
remote: + declare 'desc=Exports a function as a command'
remote: + declare fn=slug as=slug
remote: + local ns=
remote: ++ cmd-list-ns
remote: ++ ++ sort
remote: for k in '"${!CMDS[@]}"'
remote: ++ echo :version
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo :help
remote: ++ grep -v :
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo buildpack:install
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo :test
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo :buildpack
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo :paths
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo buildpack
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo buildpack:list
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo buildpack:build
remote: + for n in '$(cmd-list-ns)'
remote: + grep '^buildpack-'
remote: + echo slug
remote: + CMDS["$ns:${as/#$ns-/}"]=slug
remote: + CMDS["$1"]=slug
remote: + cmd-export slug-import
remote: + declare 'desc=Exports a function as a command'
remote: + declare fn=slug-import as=slug-import
remote: + local ns=
remote: ++ cmd-list-ns
remote: ++ sort
remote: ++ grep -v :
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo :version
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo :help
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo buildpack:install
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo :test
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo :buildpack
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo :paths
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo slug
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo :slug
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo buildpack
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo buildpack:list
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo buildpack:build
remote: + for n in '$(cmd-list-ns)'
remote: + echo slug-import
remote: + grep '^buildpack-'
remote: + for n in '$(cmd-list-ns)'
remote: + echo slug-import
remote: + grep '^slug-'
remote: + ns=slug
remote: + CMDS["$ns:${as/#$ns-/}"]=slug-import
remote: + cmd-export slug-generate
remote: + declare 'desc=Exports a function as a command'
remote: + declare fn=slug-generate as=slug-generate
remote: + local ns=
remote: ++ cmd-list-ns
remote: ++ grep -v :
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo :version
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo :help
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo buildpack:install
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo :test
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo :buildpack
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo :paths
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo slug
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo :slug
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo buildpack
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo slug:import
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo buildpack:list
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo buildpack:build
remote: ++ sort
remote: + for n in '$(cmd-list-ns)'
remote: + grep '^buildpack-'
remote: + echo slug-generate
remote: + for n in '$(cmd-list-ns)'
remote: + grep '^slug-'
remote: + echo slug-generate
remote: + ns=slug
remote: + CMDS["$ns:${as/#$ns-/}"]=slug-generate
remote: + cmd-export slug-export
remote: + declare 'desc=Exports a function as a command'
remote: + declare fn=slug-export as=slug-export
remote: + local ns=
remote: ++ cmd-list-ns
remote: ++ ++ sort
remote: grep -v :
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo :version
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo :help
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo buildpack:install
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo :test
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo slug:generate
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo :buildpack
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo :paths
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo slug
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo :slug
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo buildpack
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo slug:import
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo buildpack:list
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo buildpack:build
remote: + for n in '$(cmd-list-ns)'
remote: + echo slug-export
remote: + grep '^buildpack-'
remote: + for n in '$(cmd-list-ns)'
remote: + grep '^slug-'+ echo slug-export
remote:
remote: + ns=slug
remote: + CMDS["$ns:${as/#$ns-/}"]=slug-export
remote: + cmd-export-ns procfile 'Use Procfiles and run app commands'
remote: + declare ns=procfile 'desc=Use Procfiles and run app commands'
remote: + eval 'procfile() {
remote: declare desc="Use Procfiles and run app commands"
remote: cmd-ns procfile "$@";
remote: }'
remote: + cmd-export procfile
remote: + declare 'desc=Exports a function as a command'
remote: + declare fn=procfile as=procfile
remote: + local ns=
remote: ++ cmd-list-ns
remote: ++ sort
remote: ++ grep -v :
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo :version
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo :help
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo buildpack:install
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo :test
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo slug:generate
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo :buildpack
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo :paths
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo slug
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo :slug
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo buildpack
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo slug:import
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo buildpack:list
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo slug:export
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo buildpack:build
remote: + for n in '$(cmd-list-ns)'
remote: + echo procfile
remote: + grep '^buildpack-'
remote: + for n in '$(cmd-list-ns)'
remote: + + echo procfile
remote: grep '^slug-'
remote: + CMDS["$ns:${as/#$ns-/}"]=procfile
remote: + CMDS["$1"]=procfile
remote: + cmd-export procfile-start
remote: + declare 'desc=Exports a function as a command'
remote: + declare fn=procfile-start as=procfile-start
remote: + local ns=
remote: ++ cmd-list-ns
remote: ++ grep -v :
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo :version
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo :help
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo :procfile
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo buildpack:install
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo :test
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo slug:generate
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo :buildpack
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo :paths
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo slug
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo :slug
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo buildpack
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo slug:import
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo buildpack:list
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo slug:export
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo buildpack:build
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo procfile
remote: ++ sort
remote: + for n in '$(cmd-list-ns)'
remote: + grep '^buildpack-'
remote: + echo procfile-start
remote: + for n in '$(cmd-list-ns)'
remote: + echo procfile-start
remote: + grep '^procfile-'
remote: + ns=procfile
remote: + for n in '$(cmd-list-ns)'
remote: + + echo procfile-start
remote: grep '^slug-'
remote: + CMDS["$ns:${as/#$ns-/}"]=procfile-start
remote: + cmd-export procfile-exec
remote: + declare 'desc=Exports a function as a command'
remote: + declare fn=procfile-exec as=procfile-exec
remote: + local ns=
remote: ++ cmd-list-ns
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ ++ echo sort
remote: :version
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo :help
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo :procfile
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo buildpack:install
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo procfile:start
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo :test
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo slug:generate
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo :buildpack
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo :paths
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo slug
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo :slug
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo buildpack
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo slug:import
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo buildpack:list
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo slug:export
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo buildpack:build
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo procfile
remote: ++ grep -v :
remote: + for n in '$(cmd-list-ns)'
remote: + + echo procfile-exec
remote: grep '^buildpack-'
remote: + for n in '$(cmd-list-ns)'
remote: + echo procfile-exec
remote: + grep '^procfile-'
remote: + ns=procfile
remote: + for n in '$(cmd-list-ns)'
remote: + grep '^slug-'
remote: + echo procfile-exec
remote: + CMDS["$ns:${as/#$ns-/}"]=procfile-exec
remote: + cmd-export procfile-parse
remote: + declare 'desc=Exports a function as a command'
remote: + declare fn=procfile-parse as=procfile-parse
remote: + local ns=
remote: ++ cmd-list-ns
remote: ++ sort
remote: ++ grep -v :
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo :version
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo :help
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo :procfile
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo buildpack:install
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo procfile:start
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo :test
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo slug:generate
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo :buildpack
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo :paths
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo slug
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo :slug
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo buildpack
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo slug:import
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo buildpack:list
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo slug:export
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo buildpack:build
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo procfile:exec
remote: ++ for k in '"${!CMDS[@]}"'
remote: ++ echo procfile
remote: + for n in '$(cmd-list-ns)'
remote: + grep '^buildpack-'
remote: + echo procfile-parse
remote: + for n in '$(cmd-list-ns)'
remote: + grep '^procfile-'
remote: + echo procfile-parse
remote: + ns=procfile
remote: + for n in '$(cmd-list-ns)'
remote: + grep '^slug-'
remote: + echo procfile-parse
remote: + CMDS["$ns:${as/#$ns-/}"]=procfile-parse
remote: + case "$SELF" in
remote: + buildpack-build
remote: + declare 'desc=Build an application using installed buildpacks'
remote: + ensure-paths
remote: + mkdir -p /app /tmp/env /tmp/build /cache /tmp/buildpacks
remote: + [[ -n herokuishuser ]]
remote: + buildpack-setup
remote: + export APP_DIR=/app
remote: + APP_DIR=/app
remote: + export HOME=/app
remote: + HOME=/app
remote: + export REQUEST_ID=build-3197
remote: + REQUEST_ID=build-3197
remote: + export STACK=cedar-14
remote: + STACK=cedar-14
remote: + cp -r /app/. /tmp/build
remote: + usermod --home /app herokuishuser
To example.com:redisapp
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'dokku@example.com:redisapp'
如果我通过SSH连接到服务器,并运行dokku apps
,我会看到该应用已列出。我摧毁它,然后再试一次。我再次看到该应用程序。
将BUILD_ENV添加到构建环境时似乎失败了。
我花了最近两个小时的谷歌搜索,并尝试了各种各样的事情,从增加可用内存,到设置环境变量 - 没有一个工作。
我还删除了远程和本地git存储库并重新设置它们 - 这不起作用。
有没有人对我应该在哪里提出任何建议或指导?
**编辑**
我更新了服务器,以便运行最新的一切。清理了码头工人并更新了dokku。仍然无法工作。
答案 0 :(得分:0)
纯属偶然,我偶然发现:https://www.digitalocean.com/community/questions/ubunutu-dokku-docker-apt-get-update-issue
这已被证实是Dokku中的一个错误。您可以在GitHub上查看该问题。
升级buildstep将解决问题:
var seeds = new[] { 1, 2, 3, 4 };
var tasks = seeds.Select(Calculation);
var results = await Task.WhenAll(tasks);
foreach (var item in results)
Console.WriteLine($"seed: {item.Seed}, result: {item.Result}");
这是列表中的最后一条评论。我不知道为什么会这样。我假设它是因为当我更新dokku时,一堆东西没有被推进?把这个放在这里答案 - 但我不认为它是正确的,因为它缺乏解释。所以它不会得到勾号。
@ JoseDiaz-Gonzalez - 感谢您在评论中的留言。附上日志文件。
$ git clone https://github.com/progrium/buildstep.git
$ cd buildstep
$ git pull origin master
$ sudo make build