我正在尝试在 Dokku 上设置一些变量以进行部署。就我从开发文件中看到的而言,应该在目录中创建一个 .env 文件并将变量放在那里。但这并没有更新任何东西
.env 文件
DOKKU_NGINX_PORT=3000
MYSQL_URL=http://blabla
MYSQL_USER=mysqluser
我正在尝试将应用程序的端口映射到端口 3000,并将 mysql 变量注入(inject)运行时环境。
我知道我可以在服务器上使用 dokku config:set 设置它,但我希望能够在部署过程中实现自动化。
有任何想法吗?或者举例?
最佳答案
您需要安装 Dokku 客户端或 CLI,以便在本地与 Dokku 实例上的远程应用程序交互。
这里有几个选项:
您可以通过以下 shell 命令安装它(假设您安装了 node 和 npm):
$ npm install -g dokku-toolbelt
有关更多信息,请参阅 documentation here。
您可以通过以下 shell 命令安装它(假设您安装了 python 和 pip):
$ pip install dokku-client
有关更多信息,请参阅 documentation here。
您可以通过以下 shell 命令安装它(假设您安装了 ruby 和 rubygems):
$ gem install dokku-cli
有关更多信息,请参阅 documentation here。
在本地安装 Dokku 客户端后,请确保在存储库目录中设置了 dokku app remote。
您可以通过运行
$ git remote -v
来验证这一点。如果输出未显示您的 dokku 应用程序实例,请使用以下命令进行设置:
$ git remote add dokku dokku@example.com:your-app-name
这是我的终端中的一个示例,其中出于安全目的对一些信息进行了编辑。
seth@linuxmint ~/repos/Adopt-a-Pet $ git remote -v
dokku dokku@example.com:adopt-a-pet (fetch)
dokku dokku@example.com: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/