Privateリポジトリこの記事の内容Python、discord.pyを使ってdiscordのbotを開発しています。このbotはすでにユーザに使っていただいているので、開発者(=筆者)の都合でたびたび止めることはできません。そこで、以下のように複数の環境を用意し、開発作業を行っています。不特定多数これらをどのように切り替えているのか、筆者のケースを紹介します。以下のような構成になっています。各フォルダそれぞれのファイル構成は同じです。config.pyそれぞれのディレクトリにconfig.pyというファイルを配置します。これが環境切り替えのキモとなるファイルです。それぞれの環境用に個別のconfig.pyを作成することで、全環境で共通のソースコード本体を使いながら、パラメータを環境ごとに切り替えることができます。内容の設定例を以下に示します。これは試験版の設定例です。これは製品版の設定例です。合計3つのApplicationを作成しましょう。userを作成し、config.pyのDISCORD_TOKENにそれぞれのBotのトークンを記入します。app!"の文言が出力されます。これは単純な例ですが、データベースの接続先やユーザ名・パスワードなども同一の方法でパラメータ化できます。.gitignoreconfig.pyには、環境によって切り替えるパラメータや、トークンやデータベースパスワードなどの非公開にすべき文字列が含まれます。これらはバージョン管理ツールのリポジトリに登録すべきでない情報です。そのため、.gitignoreファイルにconfig.pyを記入しておきます。このままでは、config.pyというファイルが必要であることや、どのように書けばいいかの情報がリポジトリに登録されません。そこで、config.py.sampleを用意します。config.py.sampleconfig.pyのテンプレートとなるファイルです。これをリポジトリに登録しておくことで、ファイルの項目を管理することが可能となります。項目の追加・削除があった場合、コードの変更にあわせて、config.pyの項目の変更も同時に履歴に残るので安心ですね。行う手順を紹介します。コードは、主にDevelop/ディレクトリで編集する。各フォルダ間のソースコードは、リモートリポジトリを介して同期する。Product/ディレクトリでは、直接ファイル操作を行わない。ブランチ切り替えもしない。branchやmergeをしたくない場合、とりあえずすべてmasterブランチで実施してもいいかと思います。開発Develop/ディレクトリで開発作業を行う。add_beautiful_method試験Testing/フォルダにて変更を取り込み、試験を実施します。必要があればコードを修正します。試験に通ったら、masterブランチにマージして、リモートリポジトリにpushしましょう。合格の場合、masterにマージしてpush。Privateリポジトリ2019年2月現在、GitHubでは一般ユーザもプライベートリポジトリを扱うことができます。筆者のプロジェクトではこれを利用し、タスク管理もGitHubで行っています。hubコマンドと組み合わせるとissue管理がとても便利なので重宝しています。コメントをキャンセルメールアドレスが公開されることはありません。