btn_arrowcmn-facebookcmn-tiktokcmn-twittercmn-xcmn-youtubecorroborationengineerEngineerhamburgericon-angleicon-arrow-bottom-lineicon-arrow-diagonal-01icon-arrow-diagonal-02icon-arrow-next-01icon-arrow-next-02icon-arrow-strokeicon-arrowicon-close-btnicon-externalicon-facebookicon-fukidashi-01icon-fukidashi-02icon-fukidashi-03icon-fukidashi-04icon-fukidashi-05icon-fukidashi-06icon-fukidashi-07icon-fukidashi-08icon-fukidashi-09icon-fukidashi-10icon-fukidashi-11icon-fukidashi-12icon-fukidashi-13icon-fukidashi-14icon-fukidashi-15icon-fukidashi-16icon-fukidashi-17icon-fukidashi-18icon-fukidashi-19icon-hatebuicon-instagramicon-is-index-illust-01icon-is-index-illust-02icon-is-index-illust-03icon-lineicon-linked_inicon-pinteresticon-rank-dash-offseticon-rank-frameicon-rank-no-frameicon-rank-trophy-item-01icon-rank-trophy-item-02icon-rank-trophy-staricon-triangle-01icon-triangle-02icon-twittericon-xicon-youtubeis-bg-book-01is-bg-book-02is-bg-book-03is-bg-book-04is-bg-book-05is-bg-book-06is-bg-boxis-bg-cupis-bg-desktopis-bg-flagis-bg-glassis-bg-hatenais-bg-human-01is-bg-human-02is-bg-human-03is-bg-human-04is-bg-pcis-bg-plusis-bg-smartphoneis-feature-01-lineis-font-daiis-font-gokuis-font-jiis-font-senis-footer-illust-01is-footer-illust-02is-nav-arrowis-prologue-boxlicense-foreignlicenselogo-gree

【TECH BLOG #23】「画像素材デプロイツール」を作成しました

こんにちは、エンジニアのY.K.です。
今回は私が管理しているWEB系タイトルのなかで業務改善として作成してもらったシステム「画像素材デプロイツール」と、このツールを作成する際に考慮したことを紹介します。

改善の経緯

「画像素材デプロイツール」の導入前までは、大まかに以下のフローによって画像素材のテスト環境反映を行っていました。

1. DE(※デザイナー)による画像の作成
2. PL(※プランナー)による画像の確認、EN(※エンジニア)へ素材を提供
3. ENは作業ブランチを作成し、各施策の画像配置ルール(script起動)に従いCommitする
4. 作業ログも残し、作業に問題ないかをPullRequestと作業ログをレビュー
5. レビュー完了後ENがテスト環境に反映を行う
※クラウドはAWS、プロジェクト管理はGitHubを利用しています

作業のログを残していく文化は素晴らしいのですが、画像素材を追加するたびに毎回同じことをやっているのであればここは改善を実施したほうが良いですね。
オペレーションが確立しているものほど、改善のチャンスがあるのではないかと思います。

今後のメンバー調整、EN工数、プロダクトのロードマップとを加味し、システムの開発に取り掛かかることとしました。

導入後

無事「画像素材デプロイツール」の導入が開始されてからは、作業がとてもシンプルとなりました。

1. DEによる画像の作成
2. PLによる画像の確認
3. PLが「PL作業リポジトリ」へ画像をcommit

以上です!

結果としてENが手作業していた部分が自動化できたので浮いた工数をENの開発業務に当てることができるので、よりよいサービス作りをすることができています。
また、作業を自動化することでヒューマンエラーも減りますし、連携で生まれる作業ラグも減らすことができたりといいことだらけの結果となりました。

「画像素材デプロイツール」について

「画像素材デプロイツール」では、DEから受けっとった素材をPLが「PL作業リポジトリ」に画像をCommitするWebhookを利用し、Lambdaの起動
Lambda内ではアプリ用リポジトリ用に以下動作を実行
・ブランチの作成
・画像のcommit
・PR作成
・テスト環境への反映
・Slackへログの通知(PRリンク/作業ログ)

テスト環境までをPLで完結できるようにしました。

考慮した点

今回開発するにあたり考慮しなければいけない点もありました。

運用上のロードマップと開発スケジュール

今回は運用されているプロジェクトの業務改善となるので
改修を行いつつも運用上のロードマップには影響のないように進めていかなければなりません。
そのため、開発者が臨機応変に別のタスクも作業ができるように、十分な開発スケジュールで計画することが必要になりました。
しかし、予めチーム内では1Q~2Q(3ヶ月〜半年)先のロードマップが展開されているので
開発のタイミングはENでコントロールすることができました。
こういった決定もスムーズにすることもできるため、早期のロードマップ展開は開発者としてもとてもありがたいことですね。

PLの作業工数

PLの作業についての考慮も必要となります。
普段の作業から大幅に工数が増えてしまっては削減しても意味がありません。
そのため、最低限の作業で収まるようPLにはSourceTreeを利用してもらい、commit時のコメントルールを定めることでシステムが起動するような設計としました。
今までやってきた作業にほんの少しルールを守って利用してもらうイメージとなるため、スムーズに導入してもらうことができました。

非ENに向けた資料化

今後の運営で人員が入れ替わってもENが関与しなくても実施できるように資料化も同時に進めました。
非EN職に理解して使ってもらうには資料化がなによりも重要になります。
資料にはSourceTreeインストール方法や設定、必要なルールの記載、最低限のGitの知識を記載してあります。どれも非ENに伝わるようできる限り図解説明を含めて記載されています。
資料は一度作ってしまえばいいので、こういった細かい考慮も大事にしたいところです。

レビューしていた部分

改善前は作業ログ、画像PRレビューを実施していましたが、今回の改善では今までの実績ある作業を自動化したにすぎないので作業ログに関してはレビュー不要、画像に関してももともとPLが確認しているためここも不要と判断することができました。

最後に

もともと、ENが作業するべき内容ではなかったということもありましたが
実績として安定した運営ができていたも事実としてありました。
しかし、そういった過去の作業も見直しすることが今回の改善の気付きとなりました。

運営を続けていると安定していた作業を疑うことを忘れてしまうこともあるあるなのではないかと思います。
ですが、これを期にみなさんが普段から行っている作業を見直すきっかけになれば嬉しいです。
最後まで読んで頂き、誠にありがとうございました。

※2021年7月1日よりファンプレックスはグリーエンターテインメントへ商号変更いたしました。
※2021年6月30日以前の記事においてファンプレックスという表記がある場合がございますが、ご了承ください。

information

グリーエンターテインメント株式会社 広報担当

東京都港区六本木6-10-1 六本木ヒルズ森タワー

E-mail:info-ent@ml.gree.net