FlipLink CLIでCI/CDのフリップブック公開を自動化する

FlipLink CLIを使えば、どんなCI/CDパイプラインでもフリップブックの公開を自動化できます。作成・公開・URL取得・終了コードによる早期失敗まで一気通貫で解説します。

Sumit Ghugharwal
Sumit Ghugharwal

2026年6月21日 に公開 · 9 min read

この記事をシェアする:

リポジトリにPDF—リリースノートの資料、製品カタログ、四半期レポートなど—が置かれているなら、そのフリップブック版の公開も、PDFを生成するのと同じビルドの一部にしてしまいましょう。ダッシュボードも、手作業のアップロードも、"誰かフリップブックの更新を覚えていたっけ?"という不安も要りません。FlipLink CLIはまさにこのために作られています。ヘッドレスで動作し、環境変数から認証し、パイプラインが分岐できるきれいな終了コードを返します。

このガイドでは、PDFをビルドし、フリップブックを作成し、公開し、公開URLを取得する、最小限でプラットフォームに依存しないCI/CDパイプラインを紹介します。

なぜ公開をCIで実行するのか

ダッシュボードは単発のアップロードには最適です。一方、作業が繰り返し発生するならパイプラインのほうが向いています。

  • 再現性と監査性 — 毎回同じ手順が実行され、CIの履歴に記録されます。
  • ダッシュボード不要、人手の工程なし — リリース後にアップロードを覚えておく必要が誰にもありません。
  • 唯一の信頼できる情報源 — リポジトリのPDFがそのまま出荷されるので、フリップブックがドキュメントとずれることがありません。
  • 目立つように失敗する — 公開が壊れたら、古いフリップブックを黙って出荷する代わりにビルドが赤くなります。

これは最も素朴な意味での自動化です。CLIはAPIと同じエンジンなので、手作業でできることは何でもスクリプト化できます。

ステップ1: APIキーをCIのシークレットとして保存する

CLIはCI上のFLIPLINK_API_KEY環境変数からキーを読み込みます(解決の順序は環境変数 → 設定ファイル → デフォルト)。キーはgo.fliplink.meでサインインし、Subscriptionページを開いて取得します。

CIプロバイダーのシークレットとして追加し — コミットも、ログへの出力も絶対にしないでください。そのうえでジョブに環境変数として渡します。

# Provided by your CI's secret store, not hard-coded
export FLIPLINK_API_KEY="$CI_SECRET_FLIPLINK_API_KEY"

本格的な作業に入る前に、認証が通るかどうかをさっと確認しましょう。

fliplink whoami

キーが欠けていたり間違っていたりすると、これは非ゼロで終了し、パイプラインが早い段階で止まります — まさに望ましい挙動です。

ステップ2: 最小限のパイプライン

ここでは汎用的でプラットフォームに依存しないパイプライン(疑似YAML — キーは使っているCIに合わせて読み替えてください)を示します。リリースをトリガーにしたGitHub Actions専用の例は、リリース時のGitHub Actionsの解説をご覧ください。

pipeline:
  publish-flipbook:
    image: node:20
    secrets:
      - FLIPLINK_API_KEY        # injected from the CI secret store
    steps:
      - name: Install the CLI
        run: npm install -g fliplink-cli

      - name: Build the PDF
        run: ./scripts/build-report.sh   # your build that emits ./dist/report.pdf

      - name: Verify auth
        run: fliplink whoami

      - name: Create the flipbook
        run: |
          ID=$(fliplink flipbook create ./dist/report.pdf \
                 --title "Quarterly Report" --name quarterly \
                 --json | jq -r '.ID')
          echo "FLIPBOOK_ID=$ID" >> "$PIPELINE_ENV"

      - name: Publish the flipbook
        run: fliplink flipbook publish "$FLIPBOOK_ID"

      - name: Capture the share URL
        run: |
          URL=$(fliplink flipbook share-link "$FLIPBOOK_ID" \
                  --json | jq -r '.URL')
          echo "Published: $URL"

実際のコマンドは4つです。PDFをビルドし、fliplink flipbook createfliplink flipbook publish、そしてfliplink flipbook share-link。それ以外はすべてCIプロバイダーが用意してくれる配管です。

ステップ3: フリップブックIDとURLを取得する

肝になるテクニックは--jsonです。FlipLink CLIのどのコマンドでもこれを受け付けて生のJSONを出力するので、jqにパイプして必要なフィールドだけを正確に取り出せます。

# Create and grab the new flipbook's ID
ID=$(fliplink flipbook create ./dist/report.pdf \
       --title "Quarterly Report" --name quarterly \
       --json | jq -r '.ID')

# Publish it
fliplink flipbook publish "$ID"

# Grab the public share URL to post in Slack, an email, or a release note
URL=$(fliplink flipbook share-link "$ID" --json | jq -r '.URL')

$IDはステップ間で、CIの状態共有のしくみに合わせて渡してください — 出力変数、環境ファイル、書き出したアーティファクトなど、何でも構いません。リストのフィルタリング、ネストしたフィールドの抽出、テーブルの作成といった、より多くのjqパターンについては、jqでFlipLink CLIをスクリプト化するをご覧ください。

🚀

FlipLinkを無料で試す

PDFを数秒で変換。登録もクレジットカードも不要 — アップロードするだけです。

Drop your PDF here or click to browse

最大40MB

$39 からの有料プランなら、上限が 150 MB に広がります。

ステップ4: 終了コードで早期に失敗する

パイプラインの良し悪しはエラー処理で決まります。CLIは分岐に使える3つの終了コードを返します。

  • 0 — 成功
  • 1 — リクエストまたはHTTPエラー(ネットワーク不良、401認証失敗、サイズ超過のアップロードなど)
  • 2 — アプリケーションエラー(APIがResult: ERRORを返した場合。たとえばバリデーションの問題など)

ほとんどのCIランナーは、非ゼロで終了するとステップを自動的に止めます。たいていはそれが望ましい挙動です。コードごとに異なる対応をしたい場合は、明示的に分岐させましょう。

set -euo pipefail

if fliplink flipbook publish "$ID" --json; then
  echo "Published OK"
else
  code=$?
  if [ "$code" -eq 2 ]; then
    echo "FlipLink rejected the request (application error)" >&2
  else
    echo "Request/HTTP error talking to FlipLink" >&2
  fi
  exit "$code"
fi

なお、FlipLink APIはビジネス上のエラーをResult: ERRORを本文に含むHTTP 200として返しますが — CLIがそれを終了コード2にマッピングしてくれるので、終了コードをきれいに確認するだけで十分です。ステータスコードを手作業で解析する必要はありません。

ステップ5: 成功時に通知する

URLを取得できたら、あとは誰かに知らせるだけです。URLはただの文字列なので、どんな通知ツールでも使えます。

URL=$(fliplink flipbook share-link "$ID" --json | jq -r '.URL')

curl -X POST "$SLACK_WEBHOOK_URL" \
  -H 'Content-Type: application/json' \
  -d "{\"text\": \"New flipbook published: $URL\"}"

curlの呼び出しを、メール、GitHubコメント、変更履歴への書き込みに差し替えても — パターンは同じです。どのステップも早期に失敗するので、この通知は公開が本当に成功したときにだけ発火します。

まとめ

これがパターンの全体像です。キーをシークレットとして保存し、CLIをインストールし、PDFをビルドして、createpublish--json | jqでURLを取得し、各ステップを終了コードで守る。どんなパイプラインにも組み込めるほど小さく、忘れていられるほど信頼できる — それこそが自動化と連携の狙いです。

CLIは初めてですか?まずはFlipLink CLIをはじめるから始め、戻ってきたらビルドに組み込んでみてください。

関連記事

最初のフリップブックを作成しませんか?

PDFをインタラクティブなフリップブックや文書に変換しましょう。FlipLinkのライフタイムディールなら、永久アクセスがわずか $39 から始められます。

#ci/cd#自動化#cli#ヘッドレス#公開パイプライン
ライフタイムディール

一度のお支払いで、ずっと使える

10・50・100 フリップブック · 35の全機能 · 無制限ドメイン

$39
10 フリップブック
$89
50 フリップブック
人気
$129
100 フリップブック

プランの差はありません。機能制限もありません。すべてのLTDコードで全機能がご利用いただけます。

  • 全機能が使える — 制限なし
  • 積み重ね可能 — いつでもコードを追加購入
  • 交換可能 — 古いコードを新しいものに入れ替え
  • 独自ドメイン無制限(CNAME)
  • 月額・年額の定期料金なし

関連記事