Connectのバックエンドを担当している金子です。年末の開発者ブログ執筆ラッシュに乗り遅れたため冬季合宿中にこれを書いています😫はじめにソフトウェア開発にあたり、オープンソースのフレームワークやライブラリはなくてはならないものです。広く使われているオープンソースのフレームワークやライブラリは世界中の人々の貢献によって高い品質が保たれているものが多いですが、それでもバグや脆弱性は含まれており日々修正が行われています。そのため普段のソフトウェア開発の合間に使用フレームワークや依存ライブラリの更新情報を調べ、致命的な問題があった時は対処する必要があります。)で出来るようになりましたが、自分で定期的にコマンドを打ち込んでリポジトリにコミットして対応するのも億劫です。ありがたいことに世の中にはこういった作業を肩代わりしてくれる以下のようなサービスがあります。DependabotPyUp.ioRenovateではこれらを導入すれば解決かと言うと必ずしもそうも行きません。これらはほぼGitHub向けに展開されているサービスです(DependabotはGitHubが買収しました)ソースコードのバージョン管理自体は最近ではgitを使っている所が大半だと思いますが、様々な理由によりGitHub以外で管理している所も多いと思います。Cloud(以下Bitbucket)を使用しており、上記のサービスが直接使えないため一手間かける必要があります。Buildから行う方法を紹介します。今回の作業に必要なもの必要なものは以下のものだけです。Repositoriesにミラーリング済みであるものとします。Renovateのバージョンは2020年1月現在の最新、19.107を使用しています。RenovateのDockerイメージからBitbucketに接続するBitbucketのアプリパスワードを発行するRenovateからBitbucketを操作するにはBitbucketのアプリパスワードが必要になるので発行します。選択し、アプリパスワードの作成ボタンを押します。ラベル(この例ではrenovate)と権限を設定し、作成ボタンを押します。必要な権限はプルリクエストの読み取り、書き込みと、課題の読み取り、書き込みです。作成するとBitbucketが発行したアプリパスワードが表示されたモーダルが出ます。このアプリパスワードは発行時しか表示されないので忘れてしまった場合は再発行が必要になります。Renovateの設定を追加するRenovateによるライブラリアップデートの設定を以下のようなjsonで定義します。renovate.jsonです。}}設定の詳細についてはドキュメントを参照してください。https://docs.renovatebot.com/configuration-options/ローカルでRenovateを実行して確認するローカルで以下のコマンドを実行してRenovateからBitbucketへの接続と、ライブラリアップデートのプルリクエストの作成が正しく行われるか確認します。設定しないとプルリクエストが作られてしまうので注意してください。Buildに渡す必要があります。KeyRingを作成します。作成済みの場合は不要です。--location=global次にCryptoKeyを作成します。--purpose=encryption最後にBitbucketのアプリパスワードを暗号化し、その結果をBase64エンコードします。Buildのビルドステップの定義を追加する以下のyamlファイルを作成します。しますが、ファイル名は何でも構いません。定義したビルド設定を実行するトリガーを作成します。Buildのトリガーはブランチへのpushまたはタグが打たれた時のみなのが少し悩ましいところです。Scheduler等でAPIを叩いてこのトリガーを実行するしかなさそうです。このビルドトリガーを実行するとRenovateによって下のスクリーンショットのようなプルリクエストが作られます。CIの結果を確認して問題なさそうならマージします。楽チンですね!(もちろんCIが失敗したら何らかの対処をする必要があります)終わりにこの記事の執筆は開発合宿中に終わりませんでした😢カブクではカブいたものやカブいたことが好きなエンジニアを募集しています。2017」に出展しました。2017/09/11PyConJP2017に参加しました2017/09/08bravado-coreによるOpenAPIを利用したPythonアプリケーション開発2017/08/23OpenAPIのご紹介2017/08/18EuroPython2017で2名登壇しました。当ポジションは弊社Webサービスのバックエンド機能設計及び実装を担当します。サービス毎の開発チームで2週間スプリントのスクラム開発を実施しています。週次で開発チームミーティングを実施し、実装設計の相談や工数見積もりを行います。全ての開発コードはレビューと自動テストによって品質を保っています。リファクタリングやフレームワークのバージョンアップも開発フローに組込み、技術的負債を放置しない開発を目指しています。当ポジションは弊社Webサービスのフロントエンド機能設計及び実装を担当します。サービス毎の開発チームで2週間スプリントのスクラム開発を実施しています。週次で開発チームミーティングを実施し、実装設計の相談や工数見積もりを行います。全ての開発コードはレビューと自動テストによって品質を保っています。リファクタリングやフレームワークのバージョンアップも開発フローに組込み、技術的負債を放置しない開発を目指しています。業務から独立した、調査・研究系のタスクをおまかせしています。ブログ記事執筆を通して着実にスキルアップしていただくことを目指しています。(希望があれば、プロダクトの開発業務もおまかせします。More<!-資料案内------------------------------------------------->お客様のご要望に「Kabuku」はお応えいたします。お気軽にご相談ください。