ansible で private な GitHub Releases からファイルをダウンロードする方法

GitHub の private リポジトリで開発を進めている Golang プロジェクトがあります。CiecleCI 上でビルドを行ってバイナリファイルを GitHub Releases にアップロードしているものがあります。 これまでは「手動で最新版ファイルをダウンロードして ansible でデプロイする」といった方法を取っていました。都度行うには手間なので ansible の playbook 1発で実行させたくなりました。 実行したい処理 特定の GitHub Releases から最新版のファイルをダウンロード ansible 実行対象サーバのファイルと差し替え GitHub Releases の各バージョンには 1 ファイルのみ アップロードされている状態 準備 GitHub の API にアクセスする必要があるため Personal Access Token を取得します。管理画面 から新しいトークンの作成ができます。権限は 1 番上の repo にチェックを入れるだけです。 取得したトークンを環境変数に設定します。(実際には direnv を使っています) $ export GITHUB_TOKEN=YOUR-GITHUB-TOKEN 参考 playbook - name: private な github releases からファイルをダウンロードする hosts: all vars: github: user: 'USER-NAME' # 対象リポジトリのユーザ名 repos: 'REPOSITORY-NAME' # 対象リポジトリ名 token: "{{ lookup('env', 'GITHUB_TOKEN') }}" # 環境変数 GITHUB_TOKEN をロード dest: '/path/to/savepath' # DL したファイルの保存先パス tasks: - name: '{{ github....

2016/12/01 · Yuya MATSUSHIMA