我正在尝试在 Dokku 上设置一些变量以进行部署。就我从开发文件中看到的而言,应该在目录中创建一个 .env 文件并将变量放在那里。但这并没有更新任何东西

.env 文件

DOKKU_NGINX_PORT=3000
MYSQL_URL=http://blabla
MYSQL_USER=mysqluser

我正在尝试将应用程序的端口映射到端口 3000,并将 mysql 变量注入(inject)运行时环境。

我知道我可以在服务器上使用 dokku config:set 设置它,但我希望能够在部署过程中实现自动化。

有任何想法吗?或者举例?

最佳答案

您需要安装 Dokku 客户端或 CLI,以便在本地与 Dokku 实例上的远程应用程序交互。

这里有几个选项:

  • (node.js) dokku-toolbelt


  • 您可以通过以下 shell 命令安装它(假设您安装了 node 和 npm):
    $ npm install -g dokku-toolbelt
    

    有关更多信息,请参阅 documentation here
  • (python) dokku-client


  • 您可以通过以下 shell 命令安装它(假设您安装了 python 和 pip):
    $ pip install dokku-client
    

    有关更多信息,请参阅 documentation here
  • (ruby) Dokku CLI


  • 您可以通过以下 shell 命令安装它(假设您安装了 ruby​​ 和 ruby​​gems):
    $ gem install dokku-cli
    

    有关更多信息,请参阅 documentation here

    在本地安装 Dokku 客户端后,请确保在存储库目录中设置了 dokku app remote。

    您可以通过运行 $ git remote -v 来验证这一点。

    如果输出未显示您的 dokku 应用程序实例,请使用以下命令进行设置:
    $ git remote add dokku [email protected]:your-app-name
    

    这是我的终端中的一个示例,其中出于安全目的对一些信息进行了编辑。
        seth@linuxmint ~/repos/Adopt-a-Pet $ git remote -v
        dokku   [email protected]:adopt-a-pet (fetch)
        dokku   [email protected]:adopt-a-pet (push)
        origin  https://github.com/sethbergman/Adopt-a-Pet.git (fetch)
        origin  https://github.com/sethbergman/Adopt-a-Pet.git (push)
    

    然后您可以使用以下命令设置环境变量:
    $ dokku config:set DOKKU_NGINX_PORT=3000
    

    您可以选择使用 .env 文件设置环境变量:
    $ dokku config:set:file <path/to/.env>
    

    如果 .env 文件位于存储库的根目录中,则命令为:
    $ dokku config:set:file <.env>
    

    关于dokku - 设置 Dokku 环境变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47574896/

    10-16 21:38