2014-10-31 57 views
2

我想在Openshift上使用jekyll的pandoc markdown插件。這需要更改PATH變量,以便可以將pandoc可執行文件放置在$ OPENSHIFT_DATA_DIR中。我分叉了jekyll cartridge並試圖模仿env在bin/setup中的設置方式。使用Openshift Jekyll Cartridge添加到PATH變量

紅寶石路徑元素是設置這樣的:

dirname $(scl enable ruby193 "which ruby") > $env_dir/OPENSHIFT_RUBY_PATH_ELEMENT 

所以,我嘗試這樣做:

dirname $(scl enable ruby193 "printenv OPENSHIFT_DATA_DIR") > $env_dir/OPENSHIFT_JEKYLL_PATH_ELEMENT 

想,也許這算作一個紅寶石盒,即使簡稱爲「傑奇,」我也試過:

dirname $(scl enable ruby193 "printenv OPENSHIFT_DATA_DIR") > $env_dir/OPENSHIFT_RUBY_PATH_ELEMENT 

我也試過:

dirname echo $OPENSHIFT_DATA_DIR > $env_dir/OPENSHIFT_JEKYLL_PATH_ELEMENT 
dirname echo $OPENSHIFT_DATA_DIR > $env_dir/OPENSHIFT_RUBY_PATH_ELEMENT 

最後,在env/我放在一個文件OPENSHIFT_JEKYLL_PATH_ELEMENT.erb與以下行:

<%= ENV['OPENSHIFT_DATA_DIR'] %> 

我的企圖最後這個原因是由於cartridge developer's guide

的PATH變量設置通過OpenShift的基礎是/ etc/openshift/env/PATH。如果您提供OPENSHIFT_ {Cartridge-Short-Name} _PATH_ELEMENT,則在腳本運行或應用程序開發人員進行交互式登錄時,OpenShift將在構建PATH時包含該值。

SSH到服務器和檢查echo $PATH顯示沒有變化的環境變量。我已閱讀other questions有關openshift和設置路徑,我或者嘗試上述解決方案,或者他們找到一些方法來避免設置路徑。

我迷路了......

回答

0

這將可能需要在Action Hook做您的應用程序。基本上,您會將上述步驟附加到部署腳本,以查看您是否可以更改該值$PATH