Google Cloud Buildを使ってCIの導入にトライしてみる
エンジニアでもなんでもない素人が、google cloud buildを使ってCIに挑戦します。
google cloud buildというサービスでCIを実現します。
CIとは継続的インテグレーション(Continuous Integration)の頭文字をとったものである。
ど、どういう意味なんでしょう。
おそらくいろんな意味が含まれているのだと思います。
今回、このCIツールを使うことで、僕が実現したいことを書いてしまいましょう。
- githubのmaster branchにプッシュ
- yarn run generateコマンドを実行して静的なhtmlを生成させる
- dist/以下のファイルをfire baseにデプロイ
シンプルですね!
今までは、ローカル環境にて手動でgenerateコマンドを実行して、さらにfirebaseへのデプロイをしていました。
そのワークフローをシンプルにするためです。
かなりシンプルな流れなので、やりやすいはず。
ツールそのものの使い方や、ちょっと学ばなければいけないこともありそうです。
それでは、開始してみましょう。
GitHubとGoogle Cloud Build の連携を試してみた! – google-cloud-jp – Medium
ここまでは成功
steps:- name: 'gcr.io/cloud-builders/yarn' args: ['install']
- name: 'gcr.io/cloud-builders/yarn' args: ['generate']
Buildでエラーが出まくるのを解決
何が原因かというと、ファイルの大文字。
コンポーネントを呼び出している.vueファイルが、components/Header.vue
となっていた。
ところが実際のファイルは、components/header.vue
となっていて、これが原因でファイルがないと怒られていたのでした。
シンプルな理由ですね。
Firebaseにデプロイ
色々設定するがうまくいかない。
steps:- name: 'gcr.io/cloud-builders/yarn' args: ['install']
- name: 'gcr.io/cloud-builders/yarn' args: ['generate']
- name: 'gcr.io/cloud-builders/docker' args: [ 'build', '-t', 'gcr.io/$PROJECT_ID/firebase', '.' ]
images:- 'gcr.io/$PROJECT_ID/firebase'- name: 'gcr.io/$PROJECT_ID/firebase' args: [ 'deploy', '-P', 'js-demo-fe-staging', '--token', '1/_eKu85MAporuzCr5wVPGDV9DZJOQ3iNI3Wovhx3fOwI']
おそらく、Dockerが何かを理解していないことがあかんのですね。
Dockerってなんだ?
これがわからないと先に進めない気がしてきた。
諦めて、circleCIに移行することにしました
ちょっと今の僕にはハードルが高かったようです。
とりあえずCIの実現を目的に、CircleCIを試してみようと思います。