deploy to fly

This commit is contained in:
m5r 2021-08-27 22:32:34 +08:00
parent 7da645824a
commit 45ca5cae86
3 changed files with 104 additions and 12 deletions

View File

@ -46,13 +46,11 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v2
- uses: actions/setup-node@v2 - uses: superfly/flyctl-actions@master
with:
node-version: 16
- run: npm i -g @railway/cli
- run: railway up
env: env:
RAILWAY_TOKEN: ${{ secrets.RAILWAY_TOKEN_DEV }} FLY_API_TOKEN: ${{ secrets.FLY_API_TOKEN }}
with:
args: "deploy -c ./fly.dev.toml"
deploy_prod: deploy_prod:
if: github.ref == 'refs/heads/production' if: github.ref == 'refs/heads/production'
@ -61,11 +59,9 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v2
- uses: actions/setup-node@v2 - uses: superfly/flyctl-actions@master
with:
node-version: 16
- run: npm i -g @railway/cli
- run: railway up
env: env:
RAILWAY_TOKEN: ${{ secrets.RAILWAY_TOKEN_PROD }} FLY_API_TOKEN: ${{ secrets.FLY_API_TOKEN }}
with:
args: "deploy -c ./fly.prod.toml"
# TODO: on pull_request, deploy 24hour-long deployment at {commit_short_hash}.shellphone.app, provision db and seed data # TODO: on pull_request, deploy 24hour-long deployment at {commit_short_hash}.shellphone.app, provision db and seed data

48
fly.dev.toml Normal file
View File

@ -0,0 +1,48 @@
app = "shellphone-dev"
kill_signal = "SIGINT"
kill_timeout = 5
processes = []
[build]
builder = "heroku/buildpacks:20"
[build.args]
QUIRREL_BASE_URL = "dev.shellphone.app"
[env]
AWS_SES_REGION = "eu-central-1"
AWS_SES_FROM_EMAIL = "mokhtar@fss.dev"
QUIRREL_API_URL = "https://queue.mokhtar.dev"
QUIRREL_BASE_URL = "dev.shellphone.app"
APP_BASE_URL = "dev.shellphone.app"
[experimental]
allowed_public_ports = []
auto_rollback = true
[[services]]
http_checks = []
internal_port = 3000
processes = ["app"]
protocol = "tcp"
script_checks = []
[services.concurrency]
hard_limit = 25
soft_limit = 20
type = "connections"
[[services.ports]]
handlers = ["http"]
port = 80
[[services.ports]]
handlers = ["tls", "http"]
port = 443
[[services.tcp_checks]]
grace_period = "1s"
interval = "15s"
restart_limit = 6
timeout = "2s"

48
fly.prod.toml Normal file
View File

@ -0,0 +1,48 @@
app = "shellphone-prod"
kill_signal = "SIGINT"
kill_timeout = 5
processes = []
[build]
builder = "heroku/buildpacks:20"
[build.args]
QUIRREL_BASE_URL = "www.shellphone.app"
[env]
AWS_SES_REGION = "eu-central-1"
AWS_SES_FROM_EMAIL = "mokhtar@fss.dev"
QUIRREL_API_URL = "https://queue.mokhtar.dev"
QUIRREL_BASE_URL = "www.shellphone.app"
APP_BASE_URL = "www.shellphone.app"
[experimental]
allowed_public_ports = []
auto_rollback = true
[[services]]
http_checks = []
internal_port = 3000
processes = ["app"]
protocol = "tcp"
script_checks = []
[services.concurrency]
hard_limit = 25
soft_limit = 20
type = "connections"
[[services.ports]]
handlers = ["http"]
port = 80
[[services.ports]]
handlers = ["tls", "http"]
port = 443
[[services.tcp_checks]]
grace_period = "1s"
interval = "15s"
restart_limit = 6
timeout = "2s"