Bitbucket Cloud と Slack を連携する
BitbucketとSlackを連携して、コミットやプッシュのたびにSlackに通知がくるように設定しようとしたのですが、 いつの間にかSlackのBitbucketアプリケーションが別アカウントに変わっていたので記事にしました。
Slack側の設定
まずSlackからBitbucketのアプリを検索してみると
Bitbucket (Legacy)、Bitbucket Cloudという2つのアプリを発見。
調べてみると、Bitbucket (Legacy) は2018年8月1日でサポート終了とのこと。
Bitbucket Cloudをインストールし、SlackにBitbucketのBOTをjoinします。
あとはBOTの案内通り。
連携したいchannelにBitbucketをinviteします。
以下のコードを入力します。
/bitbucket connect <your-repository-url>
<your-repository-url>には、連携したいBitbucketのリポジトリのURLを入れるので、
以下のようなコードを入力することになります。
/bitbucket connect git@bitbucket.org:アカウント名/リポジトリ名.git
Link accountをクリックすると連携が完了します。
Bitbucket側の設定
デフォルトの設定ままだとmasterブランチの push / merge しか通知が通知が来ないため、
git-flowに則った運用をしている私の環境では、最低でもdevelopブランチの通知がこないと意味がありません。
そこで設定を新たに追加します。
Bitbucketの「設定」→ CHAT NOTIFICATIONSの「Settings」から、通知したい作業を選択。
developブランチの push / merge を通知できるように設定しました。
addをクリックすると、Slackに設定完了の通知がきます。
これでBitbucket Cloud と Slack の連携が完了しました。
ローカル環境でバーチャルホストごとに文字コードを指定する
久々に文字化けにつまずきました。
対応していたのは既存サイトの改修案件。 いつも通り、まずはMAMPでローカルサーバーを立ててサイト全体を確認したところ、全ページ文字化けしていました。
原因を調べる
まずは文字化けの原因を探るべく、HTML内の文字コード指定を確認。
head内を確認してみると、HTML4.01でmeta-charsetにはshift_jisの指定が。(今はUTF-8を使用するのが主流ですが、古いサイトだったりフォームが絡んでいたりするとたまに遭遇しますね)
今回は既存のサイトをいじるので、トラブルを避けるためにもサイト全体の文字コードを変更するなんてことはしない方が良さそう。
ということで自分のローカル環境をSHIFT-JISに対応させることにしました。
MAMPの文字コードを変更する
日本語版MAMPでは、デフォルトの文字コードがUTF-8ではないのだそう。
php.iniを編集して、設定を変更してみます。
macの場合は以下に存在するファイルです。
アプリケーション/MAMP/bin/php/php7.1.6/conf/php.ini
※ 利用中のPHPのバージョンを選択。
394行目付近
;default_charset = "iso-8859-1" //↓セミコロンを削除し書き換える default_charset = "SHIFT-JIS"
1018行目付近
;mbstring.language = Japanese //↓セミコロンを削除 mbstring.language = Japanese
1023行目付近
;mbstring.internal_encoding = EUC-JP //↓セミコロンを削除しUTF-8へ書き換える mbstring.internal_encoding = SHIFT-JIS
1026行目付近
;mbstring.http_input = auto //↓セミコロンを削除 mbstring.http_input = auto
1041行目付近
;mbstring.detect_order = UTF-8,SJIS,EUR-JP,JIS,ASCII //↓セミコロンを削除 mbstring.detect_order = UTF-8,SJIS,EUR-JP,JIS,ASCII
変更後、MAMPを再起動して表示を確認します。
これはなぜなのか結局わからなかったのですが、この時点では私の環境ではまだ文字化けが直っていませんでした。
しかも、この方法だとMAMP自体の文字コードを変えてしまっているので、他のバーチャルホスト内のデータもSHIFT-JISになってしまっているはず。
作業するたび毎回php.iniファイルを編集して文字コードを切り替えるのは効率が悪い。
バーチャルホストごとに文字コードを切り替える
ということで本題。バーチャルホストごとに個別で文字コードを指定する方法を調べてみました。
バーチャルホストの設定をしている以下のファイルに、直接文字コードを指定すれば良いそうです。 /etc/httpd/conf.d/vhosts.conf
<VirtualHost *:80> DocumentRoot "/var/www/html/xxxx" AddDefaultCharset shift_jis </VirtualHost>
この設定を反映するために、先ほどのphp.iniファイルに記述されているMAMPの文字コードの指定は空の状態にしておきます。
;default_charset = "UTF-8" default_charset = ""
これでやっと文字化けが解消されました!
↓ 参考にさせていただいたサイト