bitbucket Webhooksでvueプロジェクトのデプロイとビルドを自動化

Webhooksを設定

Bitbucketリポジトリの

Settings > Webhooks 

に遷移

Add webook をクリック

titleとリクエスト先URLを入力

Triggers  > Repository push にチェックが入っているのを確認。リポジトリプッシュがトリガーになって入力したURLにリクエストを送られる。

Webhooksのリクエスト先を作成

webhooksのリクエスト先のdeploy.jsを作成
 
webhooksがリクエストすると、任意のディレクトリ(vue-project)でmasterをプルしてきて、yarn buildを実行


const http = require("http");
const url = require("url");
const util = require("util");
const childProcess = require("child_process");
const exec = util.promisify(childProcess.exec); //child_processをprmoise化

const pullMaster = async () => {
  const cmd_pull = `cd ${__dirname}/vue-project && git checkout master && git pull origin master`;
  return await exec(cmd_pull, { timeout: 90000 }, (error, stdout, stderr) => {
    if (error !== null) {
      console.log("exec error: " + error);
    }
  });
};

const build = async () => {
  await exec(`cd ${__dirname}/vue-project && yarn build`);
};

const pullAndBuild = async () => {
  await pullMaster();
  await build();
};

http
  .createServer((req, res) => {
    if (
      req.method == "POST"
    ) {
      pullAndBuild();
    }
  })
  .listen(3000);

社内の古いPCをGitリモートリポジトリにする

GitはほとんどBitbucketにリポジトリを作って使ってましたが、最近はデータが上限の2GBを大きく超えて4GBくらいになってきてて、プッシュしてもリジェクトされるので、社内の古いPCをGitのリモートリポジトリにして運用することにしたので、超簡単な手順をメモ。

リモートリポジトリを作る

1.古いPCにGit for Windowsを入れる。

2.リポジトリを入れるフォルダを作って移動(/git/hoge)

3.git init –bare –shared

これでリポジトリは完成。

クローンする

4.クローンしたいPCにフォルダを作って移動

5.git init してから、git clone //pc/git/hoge

6.git remote add origin //pc/git/hoge でリモート設定

これでOK

———-
Macでやる場合

1. システム環境設定の共有から、リモートログインを入にする

2. “ssh xxxxx@192.168.0.0″と入力してください。の xxxxx@192.168.0.0 でリモートから接続 ポート番号はたぶん22

3. git remote add origin ssh://xxxx@192.168.0.0:22/git/hoge でリモートに追加

giboでunity用の.gitignoreを作る

普段MacとWinを行き来するので、Unityで新しいものを作るときにはgitを介して同期をしています。プロトタイプだろうと何だろうとgitなのですが、ちょっとだけ面倒くさかったのが.gitignoreを作るとき。コピペしてるだけなんだけどそれすら面倒くさいなというのがあったのでgiboを使ってサクッと追加するようにしました。

気付いたら.gitignoreはgiboで自動生成する時代になっていた

こちらを参考にgiboをbrewからmacに入れます。あとは、


gibo unity >> .gitignore

これだけ!むちゃくちゃ簡単