Skip to content

Instantly share code, notes, and snippets.

@taketo1024
Last active May 23, 2021 04:49
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save taketo1024/3f27dc3fc5aa9ac0c97239cfd19360bb to your computer and use it in GitHub Desktop.
Save taketo1024/3f27dc3fc5aa9ac0c97239cfd19360bb to your computer and use it in GitHub Desktop.
Swift-Playground online deploy 手順

Accounts

  1. GitHub
  2. GCP
  3. Docker Hub

GitHub

  1. swift-playground を fork.
  2. 以下の Repository secrets を追加する(値の取り出し方は後述)
    • SSH_LOGIN_USER
    • SSH_PRIVATE_KEY
    • SSH_PUBLIC_KEY
    • GOOGLE_CLOUD_PLATFORM_PROJECT_ID
    • GOOGLE_CLOUD_PLATFORM_API_KEY
    • GOOGLE_CLOUD_PLATFORM_CLIENT_ID
    • GOOGLE_CLOUD_PLATFORM_CLIENT_SECRET
    • GOOGLE_CLOUD_PLATFORM_REFRESH_TOKEN
    • DOCKER_HUB_USERNAME
    • DOCKER_HUB_ACCESS_TOKEN

GCP

  1. Project を作成. > GOOGLE_CLOUD_PLATFORM_PROJECT_ID
  2. Compute Engine を有効化.
  3. Compute > Metadata > SSH Keys で公開鍵を登録.
  4. OAuth 認証データ取得
    • API & Services > Credentials > create API Key > GOOGLE_CLOUD_PLATFORM_API_KEY
    • ... > Credentials > create OAuth Client ID(type: Desktop app)> GOOGLE_CLOUD_PLATFORM_CLIENT_ID, GOOGLE_CLOUD_PLATFORM_CLIENT_SECRET
    • ... > OAuth consent screen (テストユーザは自分のアドレスにして非公開のまま. Scope は cloud-platform, datastore, compute, compute.readonly があれば十分)
    • Refresh token を取得 > GOOGLE_CLOUD_PLATFORM_REFRESH_TOKEN
  5. VPC Network > Firewall で tcp:8080 を解放 (参考, Targets は All で良い)

Docker Hub

  1. Account Settings > Security > Access Tokens > DOCKER_HUB_ACCESS_TOKEN

Deploy

  • GitHub actions -> deploy

参考: 岸川さんとのやりとり

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment