PHPのデプロイツールRocketeerを使用してCIを構築しています。
流れは以下の通りです。
1.プッシュするとJenkinsがGitLabからソースを取得しテストを実行する
2.Rocketeerでデプロイする
自動デプロイした後Jenkinsのコンソールを確認すると以下のエラーが表示されています。
パーミッションで弾かれてるようですが、どこを修正すればいいかわからず嵌っています・・・。
Jenkinsのコンソールの一部です。
lang
1dev-app02/0 |-- Primer (Run local checks to ensure deploy can proceed) 2dev-app02/0 |-- CreateRelease (Creates a new release on the server) [~0.26s] 3dev-app02/0 |---- Deploy/Clone (Clones a fresh instance of the repository by SCM) 4dev-app02/0 |===> Cloning repository in "/var/www/HogeProject/releases/20141007185833" 5dev-app02/0 |===> An error occured: "Unable to clone the repository", while running: 6fatal: could not create leading directories of '/var/www/HogeProject/releases/20141007185833': Permission denied 7The tasks queue was canceled by task "Deploy" 8Execution time: 12.2225s
ブラウザでアクセスすると以下のように表示されています。
Error in exception handler: The stream or file "/var/www/HogeProject/releases/20141007185833/app/storage/logs/laravel.log" could not be opened: failed to open stream: Permission denied in /var/www/HogeProject/releases/20141007185833/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php:84
remote.php(怪しいところ)
'permissions' => array( // The folders and files to set as web writable // You can pass paths in brackets, so {path.public} will return // the correct path to the public folder 'files' => array( 'app/database/production.sqlite', '{path.storage}', '{path.public}', ), // Here you can configure what actions will be executed to set // permissions on the folder above. The Closure can return // a single command as a string or an array of commands 'callback' => function ($task, $file) { return array( sprintf('chmod -R 777 %s', $file), sprintf('chmod -R g+s %s', $file), sprintf('chown -R ec2-user:ec2-user %s', $file), ); }, ),
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。