4

OpenShiftの場合:

〜にテストディレクトリを作成しました。app-root/repo/data. ローカルにもmyapp'/dataディレクトリがあります。gitを使用してOpenShiftにプッシュアップできます。テストファイルは正常にアップロードされ、sshで確認できます。

ここで、nanoまたはvimをリモートで使用してファイルを作成します。--fileという名前remoteFileVimのファイルはrepo/dataディレクトリに存在します。ローカルでgitpullを実行すると、そのファイルが表示されませんremoteFileVim

で2番目のファイルを作成しました。このファイルをローカルマシンにプルするにapp-root/datasecondVimFileどうすればよいですか。使用できますgitか?役立つ場合は、Python 2.6、cron、mysqlをOpenshiftにロードしています。

4

3 に答える 3

4

マシンに ssh できる場合は、 を使用してファイルを読み書きできるはずですscp

Openshift ギアの~/app-root/repo/フォルダー内に新しいファイルを配置するだけでは、ファイルがリビジョン管理システムに含まれる (チェックインされる) ことにはなりません。通常、ローカルでアプリに大部分の変更を加えるにはgit commitとを使用git pushし、それらの変更を OpenShift ギアにプッシュしてフォローアップする必要があります。

アプリにオンディスク ストレージが必要な場合、またはソース コードから除外したいシークレット トークンやキーなどの追加コンテンツへのアクセスが必要な場合は、このコンテンツを~/app-root/dataフォルダーに配置できます。このディレクトリはデプロイの影響を受けず、アプリのローカル ディスク ストレージのニーズに合わせて確保されています。

于 2013-01-05T02:48:45.510 に答える
3

このブログを確認してください: https://community.jboss.org/people/ozizka/blog/2013/01/06/openshift--how-to-make-uploaded-files-public

OpenShift アプリケーション コードは、Git を使用してアップロードされます。リポジトリ ディレクトリのすべての変更は、プッシュ後に再作成されます。したがって、アップロードされたファイルをそこに保存しても機能しません。

使用できる唯一の永続ディレクトリは ../data です。そのフル パスは、環境変数 $OPENSHIFT_DATA_DIR に格納されます。ただし、このディレクトリは公開されていないため、そこにつながる URL はありません。

解決策は非常に簡単です。シンボリック リンクを作成するだけです。これは PHP の例です。SSH 経由でマシンにログインし、次を実行します。

mkdir app-root/data/photos
cd app-root/repo/php    #  php/ is the only publicly accessible directory (by default, not sure if not changeable in .htaccess).
ln -s ../../data/photos photos

これにより、../data/photos のコンテンツがhttp://myapp-myaccount.rhcloud.com/photos/で公開されます。ファイルを管理するディレクトリは、 で参照できます$_ENV['OPENSHIFT_DATA_DIR']

于 2013-01-07T21:06:55.487 に答える
0

リモートで行うこと (SSH を含む) はすべて app-root で行われます。GIT は app-deployment を使用します。ファイルを app-root からコンピューターにコピーしてから、GIT でプッシュする必要があります。また、/data も app-root スケールもありません。app-deployments>current のみがスケーリングされます。

于 2014-05-26T15:12:06.537 に答える