{"id":31837,"date":"2022-11-22T05:18:04","date_gmt":"2022-11-22T05:18:04","guid":{"rendered":"https:\/\/www.devopsschool.com\/blog\/?p=31837"},"modified":"2022-12-23T05:45:29","modified_gmt":"2022-12-23T05:45:29","slug":"chef-tutorials-how-to-set-environment-variable-in-chef-recipe","status":"publish","type":"post","link":"https:\/\/www.devopsschool.com\/blog\/chef-tutorials-how-to-set-environment-variable-in-chef-recipe\/","title":{"rendered":"Chef Tutorials: How to set environment variable in Chef recipe"},"content":{"rendered":"\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Method #1<\/h2>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-1\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\"><span class=\"hljs-keyword\">If<\/span> you need an env <span class=\"hljs-keyword\">var<\/span> set strictly within the Chef process, you can <span class=\"hljs-keyword\">use<\/span> <span class=\"hljs-title\">ENV<\/span>&#91;'<span class=\"hljs-title\">foo<\/span>'] = '<span class=\"hljs-title\">bar<\/span>' <span class=\"hljs-title\">since<\/span> <span class=\"hljs-title\">it<\/span>'<span class=\"hljs-title\">s<\/span> <span class=\"hljs-title\">a<\/span> <span class=\"hljs-title\">ruby<\/span> <span class=\"hljs-title\">process<\/span>.\r\n\r\n<span class=\"hljs-title\">Method<\/span> #2\r\n<span class=\"hljs-title\">If<\/span> <span class=\"hljs-title\">you<\/span> <span class=\"hljs-title\">need<\/span> <span class=\"hljs-title\">to<\/span> <span class=\"hljs-title\">set<\/span> <span class=\"hljs-title\">one<\/span> <span class=\"hljs-title\">for<\/span> <span class=\"hljs-title\">an<\/span> <span class=\"hljs-title\">execute<\/span> <span class=\"hljs-title\">provider<\/span>, <span class=\"hljs-title\">Chef<\/span> <span class=\"hljs-title\">exposes<\/span> <span class=\"hljs-title\">an<\/span> <span class=\"hljs-title\">environment<\/span> <span class=\"hljs-title\">hash<\/span>:\r\n\r\n<span class=\"hljs-title\">execute<\/span> '<span class=\"hljs-title\">Bootstrap<\/span> <span class=\"hljs-title\">the<\/span> <span class=\"hljs-title\">database<\/span>' <span class=\"hljs-title\">do<\/span> \r\n  <span class=\"hljs-title\">cwd<\/span> \"#{<span class=\"hljs-title\">app_dir<\/span>}\/<span class=\"hljs-title\">current<\/span>\"\r\n  <span class=\"hljs-title\">command<\/span> \"#{<span class=\"hljs-title\">env_cmd<\/span>} <span class=\"hljs-title\">rake<\/span> <span class=\"hljs-title\">db<\/span>:<span class=\"hljs-title\">drop<\/span> <span class=\"hljs-title\">db<\/span>:<span class=\"hljs-title\">create<\/span> <span class=\"hljs-title\">db<\/span>:<span class=\"hljs-title\">schema<\/span>:<span class=\"hljs-title\">load<\/span> <span class=\"hljs-title\">RAILS_ENV<\/span>=#{<span class=\"hljs-title\">rails_env<\/span>}\"\r\n  <span class=\"hljs-title\">environment<\/span> '<span class=\"hljs-title\">HOME<\/span>' =&gt; \"\/<span class=\"hljs-title\">home<\/span>\/#{<span class=\"hljs-title\">app_user<\/span>}\"\r\n  <span class=\"hljs-title\">user<\/span> <span class=\"hljs-title\">app_user<\/span>\r\n  <span class=\"hljs-title\">action<\/span> :<span class=\"hljs-title\">run<\/span>\r\n  <span class=\"hljs-title\">not_if<\/span> %&#91;<span class=\"hljs-title\">psql<\/span> -<span class=\"hljs-title\">U<\/span> <span class=\"hljs-title\">postgres<\/span> -<span class=\"hljs-title\">c<\/span> \"\\\\<span class=\"hljs-title\">l<\/span>\" | <span class=\"hljs-title\">grep<\/span> #{<span class=\"hljs-title\">db_name<\/span>}]\r\n<span class=\"hljs-title\">end<\/span><\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-1\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<script src=\"https:\/\/gist.github.com\/devops-school\/fdb9f62b6a3a955b6c6c668506d01b68.js\"><\/script>\n","protected":false},"excerpt":{"rendered":"<p>Method #1<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","_joinchat":[],"footnotes":""},"categories":[2],"tags":[],"class_list":["post-31837","post","type-post","status-publish","format-standard","hentry","category-uncategorised"],"_links":{"self":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/31837","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/comments?post=31837"}],"version-history":[{"count":1,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/31837\/revisions"}],"predecessor-version":[{"id":31838,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/31837\/revisions\/31838"}],"wp:attachment":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/media?parent=31837"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/categories?post=31837"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/tags?post=31837"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}