Rscriptにシェル環境変数を渡す方法はありますか?例:シェル環境変数をRscriptに渡す
Rscript -e 'devtools::install_github("private/repo",auth_token = "$GITHUB_CRED")'
これを試したところ、リテラル文字が渡されました。別の方法があるのだろうか?
Rscriptにシェル環境変数を渡す方法はありますか?例:シェル環境変数をRscriptに渡す
Rscript -e 'devtools::install_github("private/repo",auth_token = "$GITHUB_CRED")'
これを試したところ、リテラル文字が渡されました。別の方法があるのだろうか?
ビットばかげているようだが、:
echo $GITHUB_CRED > file.txt
Rscript -e 'devtools::install_github("private/repo",auth_token = readLines("file.txt"))'
私は私のパッケージリポジトリに関連付けられているDockerfilesに私のすべての設定を保存できるように、私はドッキングウィンドウ-スレーブ・プラグインでジェンキンスビルド(S)でこれを使用しています(クリーンビルド)
Sys.getenv
を試しましたか?質問の狭い意味で
Rscript -e 'devtools::install_github("private/repo", auth_token=Sys.getenv("GITHUB_CRED"))'
私は今それを試してみるつもりです。ありがとう@Hong Ooi –
これは動作しませんでした –
'Sys.getenv'は正しい値を取得しますか?あなたはそれを印刷して確認することができます。 –
:「はい、Rscript缶」:GitHubの資格情報を扱うためのよう
[email protected]:~$ SOME_VAR="some value" Rscript -e 'print(Sys.getenv("SOME_VAR"))'
[1] "some value"
[email protected]:~$
は、適切なGitHubのクライアントを経由して利用できる、おそらくより良い解決策があります。あなたは(優秀で推奨されている)git2rパッケージを試しましたか?
いいえ、私は 'git2r'を試していません。主な問題点は、CIシステムによって構築されているDockerfileに環境変数として渡していることです。だから、従来のアプローチのどれも働いていない。 –
私はセキュリティ専門家ではありませんが、そのスペースで働いている人もいます。車輪を再開発しないでください - Docker、git、資格情報の周りにいくつかのGoogle検索を行います... –
Even Dockerには、秘密を共有するための明確な戦略がありません。今のところすべてがセキュリティ上の問題を抱えるハックです。あなたの読書の喜びのためにhttps://github.com/docker/docker/issues/13490 –
おそらく 'auth_token = shell(" $ GITHUB_CRED "、intern = TRUE)'ですか? –
私はそれを撃つつもりです。私は現在、ファイルにプッシュしてから 'readLines()'を実行するハックな解決策を持っています –
argsはどうですか? 'Rscript -e 'args < - commandArgs(trailingOnly = TRUE);ペースト( "bla"、args [1]) 'myPassword' – zx8754