- GitHub
- GCP
- Docker Hub
- swift-playground を fork.
- 以下の 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
- Project を作成. >
GOOGLE_CLOUD_PLATFORM_PROJECT_ID
- Compute Engine を有効化.
- Compute > Metadata > SSH Keys で公開鍵を登録.
- 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
- API & Services > Credentials > create API Key >
- VPC Network > Firewall で tcp:8080 を解放 (参考, Targets は All で良い)
- Account Settings > Security > Access Tokens >
DOCKER_HUB_ACCESS_TOKEN
- GitHub actions -> deploy
参考: 岸川さんとのやりとり