无法将Git仓库部署到Dokku实例(致命错误:{reponame}似乎不是一个Git仓库)

6
我正在尝试将位于本地git仓库中的应用程序部署到我的DigitalOcean上的dokku实例中。
区域文件
$ORIGIN mydomain.com.
$TTL 1800
...
mydomain.com. 1800 IN A 11.22.33.44
www.mydomain.com. 1800 IN CNAME mydomain.com.
*.mydomain.com. 1800 IN A 11.22.33.44
test.mydomain.com. 1800 IN A 11.22.33.44

我打算将我的应用部署在test.mydomain.com上。

dokku设置

我使用DigitalOcean上的dokku镜像设置了服务器,目前运行的是dokku v0.4.15,并尝试根据指南部署我的应用程序,该指南显然已经过时,但我没有找到更近期的指南。

ssh设置

我还设置了SSH密钥和配置文件,因此我能够通过SSH登录到我的dokku实例,对于两个用户rootdokku都可以:

ssh {username}@test.localhome.ch // 可以工作

本地ssh配置文件

Host          mydomain.com test.mydomain.com
        HostName       11.22.33.44
        IdentityFile   ~/.ssh/mydomain
        PreferredAuthentications publickey

部署
当我尝试部署我的 Git 仓库时:
git remote add dokku dokku@test.mydomain.com:test
git push dokku master

它会让我感到困惑/不知所措。
fatal: 'test' does not appear to be a git repository
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

我错过了什么?
编辑1:
我还通过ssh登录到服务器并添加了dokku应用程序。
ssh dokku@mydomain.com
dokku apps:create test

这个应用程序似乎已经在服务器端正确添加了。
dokku@mydomain:~$ dokku apps
=====> My Apps
test

然而,推动仍然失败。
1个回答

9

我无法解决DigitalOcean上oneclick dokku安装的问题,所以我不得不手动设置实例,但这并不难。

Dokku设置

  1. 创建一个新的Ubuntu 14.04.4 x64 droplet。
  2. 暂时不要设置RSA,使用密码认证登录droplet。
  3. 安装dokku:

    wget https://raw.githubusercontent.com/dokku/dokku/v0.5.2/bootstrap.sh sudo DOKKU_TAG=v0.5.2 bash bootstrap.sh

设置RSA

假设:我们不使用默认的RSA密钥(通常是.ssh/id_rsa.pub),而是使用自定义的密钥:.ssh/custom.pub

  1. 使用以下一行代码添加公钥

    cat ~/.ssh/custom.pub | ssh root@mydomain.com "sudo sshcommand acl-add dokku custom-identifier"

更多信息请参考此页面

部署repo

部署你的repo,可以使用此示例进行快速测试。 同时,DNS需要相应地设置(如果应用程序名称为test,则test.mydomain.com应该指向您的服务器IP,如OP中所示)。


1
在进行设置之前,我手动将我的公钥添加到了“authorized_hosts”,这搞砸了一些事情。我使用了您的评论作为提示,并成功地删除了最初的那个。现在它正在按预期通过自定义命令运行。谢谢! - jocull
只是做个记录:最近我在16.04上使用Dokku 0.7.2时出现了这个问题。 - TheUnknownGeek

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接