AWSの話題を中心に、日々の業務やプログラミングの徒然を綴るエンジニアブログです。

HANDS LAB

HANDS LAB ENGINEERS BLOG

ハンズラボエンジニアブログ

12

カテゴリー: Slack

iOSアプリの証明書とプロビジョニングプロファイルの有効期限が後何日で切れるかを毎週自動でSlackに通知してみた


ios-cers-and-profiles-bot

はじめまして。三井田(みいだ)です。
4月に新卒としてハンズラボに入社して、早半年がたちました。
大学時代は授業で情報科学などを勉強する傍ら、UnityでモバイルARアプリを開発したり、個人開発のAndroidアプリをGoogle Playに公開したりしていました。
入社後は、新人研修の仮想プロジェクトでひたすらjQueryを書き続ける日々を送った後、現在のチームに配属され、DynamoDBを管理したり、PythonでLambdaを書いたり、PHPとJSで管理画面をより使いやすく改善したりしています。

さて、今回は多くのiOS開発者を悩ませる(?)、iOSアプリの証明書とプロビジョニングプロファイルについてのお話です。

やばい!iOSアプリの証明書の有効期限がっ…!!

1年に1回更新しなければならない、iOSアプリの証明書とプロビジョニングプロファイル。ついつい有効期限を忘れてしまい、期限が切れる直前(もしくは切れた後)に慌てて更新、なんてことはありませんか?
弊社でも先日、とあるiOSアプリの証明書の有効期限が切れる寸前になっていました。
その時は弊社エンジニアが気づき、緊急アップデートを行って難を逃れたのですが、もし気づくのが遅れて、証明書の有効期限が切れてしまっていたら。。。と思うとゾッとします。

そこで、iOSアプリの証明書、プロビジョニングプロファイルの更新忘れを防ぐために、証明書、プロビジョニングプロファイルの有効期限が後何日で切れるかを、毎週自動でSlackに通知するようにしてみました!

こんな感じです

ios-certificates-and-profiles-bot

毎週指定の時刻になると、管理サーバーでシェルスクリプトが自動実行されます(cron)。
スクリプトでは、証明書、プロビジョニングプロファイルの入ったプライベートリポジトリをgit pullした後、リポジトリ内の各.cer、.mobileprovisionファイルについて、後何日で有効期限が切れるのかを計算し、その結果をSlackに通知します。
【**注意!**】証明書、プロビジョニングプロファイルは厳重に管理してください!

スクリプトのソースコードはこちら(GitHub)です。(Linux環境用です。ローカルのMacで実行したい場合は、「$ brew install coreutils」を行った後、「date」コマンドの代わりに「gdate」コマンドを使えば実行できます。)

流れとしては、iOSアプリ証明書の有効期限を取得し、「年/月/日」の形にした後、

後何日で有効期限が切れるのかを計算します。

そしてその結果を、Slackに投稿します。

プロビジョニングプロファイルについても有効期限を取得し、同様の処理を行います。(弊社iOSエンジニア駒場に有効期限の取得方法を教えてもらいました!)

30日以内に有効期限が切れる場合は、アイコンと文言を変えるようにしました。

emergency

【おまけ】有効期限が切れると…

expired
…切れないように気をつけましょう。

まとめ

iOSアプリの証明書とプロビジョニングプロファイルが後何日で切れるのか、Slackに毎週自動で通知されるようになったので、余裕をもって年次更新を行うことができるようになりました!
また、Slackに通知することで、特定の開発者だけが有効期限を把握するのではなく、より多くの人の目で期限をチェックできるのも良いですね!
それでは、今回はこの辺で。

Happy Coding! 😉

参考


AWSのEC2イベントを検知してslackへ通知するBotを作ってみた!


download

週末、ハンズラボは花見でした。

吉田です。

IMG_1325

IMG_1324

IMG_1323

いやー、楽しかったです(笑)
花を見た記憶がほとんどありませんが・・・
桜も2−3分咲きでしたが、テンションは最高でした。外でご飯を食べて酒を呑む。最高ですね!

さて、今回のブログネタはslack × Lambda です。

続きを読む AWSのEC2イベントを検知してslackへ通知するBotを作ってみた!


GoogleAppsScriptでJAWS-UGのイベント通知をSlackに流してみた


頑張って、どんどん、書きます!!!
都会に憧れるエンジニア
ハンズラボの吉田です。
アイキャッチ画像は家の近くの山です。これの麓辺りから出勤しています。
杉山なので春先は地獄です。春が、近い・・・(恐怖


前回に引き続きSlackネタで書いていこうと思います。
前回はLambda(Python2.7)からSlackへの通知を行いました。
今回は、GoogleAppsScript(以下GAS)からSlackをぶっ叩きます!

感想

JavaScriptむずかしぃぃぃぃ!

慣れですね。頑張ります。

今回作ったBOTはJAWS-UGのイベントが登録されたらSlackにつぶやくBOTです
こんな感じ

bot-test___2016_e_d_team_Slack

それでは作り方を見ていきましょう。
続きを読む GoogleAppsScriptでJAWS-UGのイベント通知をSlackに流してみた


はじめまして、ハンズラボにJOINした吉田です


皆様、はじめまして。
先日(1月中旬)ハンズラボにエンジニアとしてJOINした吉田です!
エンジニアブログ、頑張っていきます!

前職

2014年に新卒入社した会社でインフラエンジニアとして働いていました。
主にオンプレのWindowsServer(AD周り)の保守運用などの仕事に従事しつつ、AWSに恋をして夜な夜な一人でEC2と遊んでいました。
憧れのAWS環境でのお仕事なので頑張りつつ、認定資格5冠Tシャツ目指します。

1本目のエンジニアブログはLambdaに関して書いていこうと思います。

続きを読む はじめまして、ハンズラボにJOINした吉田です


SlackBot大量生産中。


HHBot

BooklogBot作った倉嶋です。
↑は昨日・今日で作った社長の予定を通知するHHBotです。(Hideki Hasegawa Botの略)
今日はLambda+PythonじゃなくてGoogle Apps ScriptでSlack Bot作った話をば。

おかげ様で前回の投稿は好評いただいたのですが、Lambdaで作ると大量生産には向きません。
もっと遊びたい 基、Slack生活向上のため、もっと簡単に作りたい。
ちょっと調べてみたところ、Google Apps Scriptで作るのが良さそうだ、ということでいくつか作ってみました。

ざっくりお昼休み2,3回に1つくらいのペースでBotが作れます。
以下、作ったBotを順不同に。

  • 今日の予定通知Bot
  • 社内ポータル更新通知Bot
  • 今日のオススメランチBot
  • Slackに新しいチャンネルできたよBot
  • Slackのスターをつけたよ消したよBot
  • 社長の予定通知Bot new!

Google Apps Scriptのいいところ

  • Googleのサービスとの連携が簡単
  • Slack連携のライブラリを公開してくれている方がいる
  • Javascriptで書ける
  • 勝手に版管理してくれる

東急ハンズはGoogle Apps for Businessを全社的に導入していますので、メールはgmail、カレンダーはgoogle calendar、忘年会の出欠簿はgoogle spreadsheetです。
(MS Officeも使っていますが、ハンズラボメンバーはMacユーザも多く、それほど使用頻度は多くないです)
おかげで、gmailやgcalと連携してほしい情報をjsonなどで取ってきて、ちょっと体裁を整えてSlackに投げればBotがすぐに作れます。
Google Apps Scriptの拡張子は.gsですがほぼJavascriptなので、Javascriptの勉強にもなります。

Google Apps Scriptのもう少し・・・なところ

  • Editorが組み込みオブジェクトのメソッド・プロパティは補完してくれない
  • プロジェクトが個人のmailアドレスに紐づくので、作った人が退職したら「権限の譲渡」とかしないと読めなくなる
  • npmなどでライブラリの追加ができない
  • 時間帯指定では起動できるが、時刻指定はできない

var dt = new Date(); とかしたらDateオブジェクトのメソッドとか補完してほしいじゃないですか!
あとはECMAScript2015対応とかどうなるんですかね?

Google Apps Script、お気軽に作れておすすめです。社内のJavascript勉強会で作り方を共有したので、倉嶋以外が作ったBotもドンドン作られるはず。どんなBotが出てくるか、楽しみです!

— 追記 —

参考にさせていただいたサイトは以下のとおりです。ありがとうございます!

Slack BotをGASでいい感じで書くためのライブラリを作った
今日の予定をまとめて教えてくれるslackの秘書BOT


12