【问题标题】:can't deploy git repository to dokku instance (fatal: {reponame} does not appear to be a git repository)无法将 git 存储库部署到 dokku 实例(致命:{reponame} 似乎不是 git 存储库)
【发布时间】:2016-07-14 13:11:42
【问题描述】:

我正在尝试将位于本地 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上部署我的应用

独库设置

我使用 digitalocean 上的 dokku 映像来设置服务器,该服务器当前在 dokku v0.4.15 上运行,并尝试根据显然已过时的 the guide 部署我的应用程序,但是,我没有找到更新的一个。

ssh 设置

我还设置了 SSH 密钥和配置文件,因此我可以通过 SSH 为用户 root 登录我的 dokku 实例独孤

ssh {username}@test.localhome.ch// works

本地 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

.. 但是,推送仍然失败。

【问题讨论】:

    标签: git ssh digital-ocean dokku


    【解决方案1】:

    我无法解决 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. 使用以下单行添加公钥

      猫 ~/.ssh/custom.pub | ssh root@mydomain.com "sudo sshcommand acl-add dokku 自定义标识符"

    更多信息请参考this page

    部署存储库

    部署您的存储库,可以使用this example 进行快速测试。 此外,需要相应地设置 DNS(如果应用名称为 test,则 test.mydomain.com 应指向您的服务器 IP,如 OP 中所示)。

    【讨论】:

    • 在进行设置之前,我已经手动将我的公钥添加到 authorized_hosts,这搞砸了。我使用您的 cmets 作为提示,并且能够删除最初的那个。现在它正在按预期运行自定义命令。谢谢!
    • 请注意:我最近在 16.04 使用 Dokku 0.7.2 时发生了这种情况
    猜你喜欢
    • 2011-11-11
    • 2015-07-01
    • 1970-01-01
    • 2020-06-10
    • 2023-04-05
    • 1970-01-01
    • 2015-11-21
    • 1970-01-01
    • 2021-07-28
    相关资源
    最近更新 更多