在 Gitlab CI 中使用 Rails 凭据
Posted
技术标签:
【中文标题】在 Gitlab CI 中使用 Rails 凭据【英文标题】:Using Rails credentials within Gitlab CI 【发布时间】:2019-07-02 17:12:00 【问题描述】:我需要在 Gitlab CI 中使用某些环境变量。我需要将这些变量放在 Rails 凭据中,而不是通过设置存储在 Gitlab 运行器中。
我已经为此工作了大约一个星期,并且正在努力寻找可行的解决方案。理想的格式将能够使用 ERB 样式的降价(即 - <%= Rails.application.credentials[:my_credential] %>
),但当然我无法预处理 ERB 并且 Gitlab CI 仍然可以运行。
如何在 Gitlab CI 上使用无法手动存储在运行器中的 ENV 变量?
【问题讨论】:
These variables cannot be stored on the runners (via the GUI interface)
背后的原因是什么?
好问题托尼。我可能没有在问题中明确说明这一点,并将进行编辑。 Gitlab 运行器允许存储环境变量,但出于我们在应用程序中的业务目的,这些需要存储在 Rails 凭据中。
【参考方案1】:
您可以将它们存储在您应用的config files 中。具体来说,您可以创建一个可供跑步者使用的./config.toml 文件。然后,您可以在文件中使用 ERB 来访问您的 Rails 凭据。您只需要设置一个在部署期间解析它的脚本。
这是an example 的一种方法。请注意,您需要将.erb
添加到文件扩展名中。
【讨论】:
以上是关于在 Gitlab CI 中使用 Rails 凭据的主要内容,如果未能解决你的问题,请参考以下文章
从 gitlab-ci dir 中获取所有工件并使其成为工件