フリーランスのためのネットビジネス専門学校 ネットで独立開業を目指す人を応援
フリーランスのためのネットビジネス専門学校 ネットで独立開業を目指す人を応援

Dockerを使ってLaravel開発環境構築

プライベートリポジトリからの clone

第1世代の appengine は、アプリのディレクトリに必要なファイルをすべて用意してけば、それをすべて素朴にデプロししてくれていたのですが、第2世代の appengine にデプロイする場合は、 composer.lock のモジュールを google のビルドサーバでビルドしてからデプロイされます。

モジュール等を除いたWEBアプリ自体は、プライベートリポジトリでコード管理される事が一般的だと思いますが、 google のビルドサーバ Cloud buildcomposer install 出来ないと appengine にはデプロイ出来ません。

vendor ディレクトリはアップロードされない ので、しれっと vendor闇カスタム したモジュールを置いといても、ロードしてくれませんのでご注意ください。

Cloud buld を使ったデプロイは CI 的でモダンな感じで自然な振る舞いになった気がしますが、プライベートリポジトリに Cloud buld がアクセスできるようにする必要があります。

プライベートリポジトリからのチェックアウト方法

プライベートリポジトリからの clone は oauth を使ってできるので、その仕組を使います。
Google のドキュメントも存在し、日本語にも翻訳されているのでそのとおりやるだけです。

非公開レポジトリの使用

実際にやってみる

composer で private repository のモジュールを使う方法。
いつもどおりやんけ、と思うかもしれませんが、 url は https:// から始まるこの書式のURLでないといけません。

composer.json
"repositories": [
    {
        "type": "vcs",
        "url": "https://github.com/username/private_package"
    }
]

非公開レポジトリの使用 より引用。bitbucket でも同じです。

認証ファイル

認証用のファイルを app.yaml と同じディレクトリに置きます。
app.yaml がおいてあるディレクトリが公開ディレクトリだと、 auth.json にもアクセス出来てしまうので public_root で公開ディレクトリを限定しましょう、と書いてありますが、第2世代の appengine はフロントコントローラー形式でアクセスしなければならないので大丈夫な気がします。

それはそうとしても、フロントコントローラーのディレクトリとプロジェクトルートディレクトリは分けておいたほうが良い習慣だと思います。

app.yamlentrypoint を公開用のディレクトリ以下にしておくと良いと思います。

auth.json の中身

認証情報を記述した auth.json ですが、コードホスティングサービス毎に記述方法が異なります。

github の場合

PC版の右上の自分のプロフィールメニューから

  • Settings
  • 左下の方のメニューの Developer settings
  • Register a New application ボタン

からトークンを作ります。
Authorization callback URL を何でも良いので (自分の管理下で status 200を返せるURL、ぐらいには私は気を使ってますが、意味があるかどうかは知りません) 必ず入力してください。

auth.json
{
    "github-oauth": {
        "github.com": "<your-github-auth-token>"
    }
}

非公開レポジトリの使用 より引用。

bitbucket の場合

https://bitbucket.org/account/user/あなたのユーザ名/

  • Oauth メニュー
  • OAuthコンシューマ の項目
  • コンシューマキーを追加 ボタン

(日本語 UI の場合)

から consumer-keyconsumer-secret を得られるので、コピペで auth.json を作る。

注意点は コールバックURL が必要なくても (appengine にデプロイするためには必要ないと思います) なにか適当な URL を入れておく必要があります。

auth.json
{
    "bitbucket-oauth": {
        "bitbucket.org": {
            "consumer-key": "<your-oauth-consumer-key>",
            "consumer-secret": "<your-oauth-consumer-secret>"
        }
    }
}

非公開レポジトリの使用 より引用。

以上でデプロイできると思います。

[紹介元] PHPタグが付けられた新着投稿 – Qiita Dockerを使ってLaravel開発環境構築

コメント

記事に戻る

コメントを残す