Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(ci): optimize ci/cd pipeline #40

Merged
merged 174 commits into from
Aug 17, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
174 commits
Select commit Hold shift + click to select a range
f942176
chore: ci
stakbucks Aug 15, 2024
0f54d2b
feat(bottle): global-error page
stakbucks Aug 15, 2024
1af5327
chore: ci -env
stakbucks Aug 15, 2024
5828ca2
chore: ci -env
stakbucks Aug 15, 2024
736b212
chore: ci -env
stakbucks Aug 15, 2024
5ec81a6
chore: ci -env
stakbucks Aug 15, 2024
e6af451
chore: ci -env
stakbucks Aug 15, 2024
32a6224
chore: ci -env
stakbucks Aug 15, 2024
abb810a
chore(e2e): create separate e2e package
stakbucks Aug 15, 2024
9673877
debug
stakbucks Aug 15, 2024
bbc1cb8
debug
stakbucks Aug 15, 2024
82bad7b
chore(ci): change to webkit
stakbucks Aug 15, 2024
c7145e5
chore(ci): change to webkit
stakbucks Aug 15, 2024
b54981f
chore(ci): change to webkit
stakbucks Aug 15, 2024
462104a
chore(ci): change to webkit
stakbucks Aug 15, 2024
0558fdb
fix(e2e): syntax
stakbucks Aug 15, 2024
3c49129
fix(e2e): syntax
stakbucks Aug 15, 2024
4f1fb5f
test cache
stakbucks Aug 15, 2024
157e1ce
test cache
stakbucks Aug 15, 2024
75bdc80
chore(ci): playwright config add browser
stakbucks Aug 15, 2024
99e8257
chore(ci): playwright config add browser
stakbucks Aug 15, 2024
edec012
chore(ci): playwright config add browser
stakbucks Aug 15, 2024
1e949e5
chore(ci): playwright config add browser
stakbucks Aug 15, 2024
84ca553
chore(ci): playwright config add browser
stakbucks Aug 15, 2024
a597181
chore(ci): playwright config add browser
stakbucks Aug 15, 2024
ac59ba6
chore(ci): playwright config add browser
stakbucks Aug 15, 2024
3c61c2e
chore(ci): playwright config add browser
stakbucks Aug 15, 2024
59d48fd
chore(ci): playwright config add browser
stakbucks Aug 15, 2024
f5e3ed9
chore(ci): playwright config add browser
stakbucks Aug 15, 2024
1eabe51
chore(ci): playwright config add browser
stakbucks Aug 15, 2024
779f244
chore(ci): playwright config add browser
stakbucks Aug 15, 2024
e9a4eda
chore(ci): playwright config add browser
stakbucks Aug 15, 2024
28f1e22
test: without any cache
stakbucks Aug 15, 2024
4a81e25
test: with playwright actions/cache
stakbucks Aug 15, 2024
07abfa5
test: with playwright actions/cache
stakbucks Aug 15, 2024
483e5a3
chore(bottle): remove e2e files
stakbucks Aug 15, 2024
c500a2a
.
stakbucks Aug 15, 2024
a397dbd
revert
stakbucks Aug 15, 2024
10cddb4
fix
stakbucks Aug 15, 2024
51f45b5
cache version
stakbucks Aug 15, 2024
20ee625
use cache
stakbucks Aug 15, 2024
a5e5229
test
stakbucks Aug 15, 2024
d8ef6d3
fix
stakbucks Aug 15, 2024
0663609
fix
stakbucks Aug 15, 2024
9c5c012
test
stakbucks Aug 15, 2024
cdcdf08
fix test
stakbucks Aug 15, 2024
fb5b282
test
stakbucks Aug 15, 2024
ab8c44b
test
stakbucks Aug 15, 2024
965b414
test
stakbucks Aug 15, 2024
e20c8b7
test
stakbucks Aug 15, 2024
0443c71
test
stakbucks Aug 15, 2024
2d4463a
test
stakbucks Aug 15, 2024
337b40b
test
stakbucks Aug 15, 2024
96ac2bd
test
stakbucks Aug 15, 2024
742c14b
test
stakbucks Aug 15, 2024
a4f7125
test
stakbucks Aug 15, 2024
98093c9
test
stakbucks Aug 15, 2024
f7781a5
test
stakbucks Aug 15, 2024
07c4a92
test
stakbucks Aug 15, 2024
6d98ce1
test
stakbucks Aug 15, 2024
387c28c
test
stakbucks Aug 15, 2024
723fbda
test
stakbucks Aug 15, 2024
4258dc5
test
stakbucks Aug 15, 2024
9e5c0fd
test
stakbucks Aug 15, 2024
0fa34e4
use docker
stakbucks Aug 15, 2024
48693c5
use docker
stakbucks Aug 15, 2024
27cf0e8
change image
stakbucks Aug 15, 2024
99172a8
change image
stakbucks Aug 15, 2024
211ebb5
change image
stakbucks Aug 15, 2024
28cbcd8
change image
stakbucks Aug 15, 2024
6ef12ff
change image
stakbucks Aug 15, 2024
665d16d
change image
stakbucks Aug 15, 2024
f4d95ed
change image
stakbucks Aug 15, 2024
517a111
change image
stakbucks Aug 15, 2024
0438704
change image
stakbucks Aug 15, 2024
468ba93
change image
stakbucks Aug 15, 2024
196b1b7
change image
stakbucks Aug 15, 2024
3f4bc8c
change image
stakbucks Aug 15, 2024
2293521
change image
stakbucks Aug 15, 2024
160b1b0
change image
stakbucks Aug 15, 2024
b6e36bc
change image
stakbucks Aug 15, 2024
0c0e68c
change image
stakbucks Aug 15, 2024
e2ef9de
change image
stakbucks Aug 15, 2024
98a9ef6
change image
stakbucks Aug 15, 2024
c13d0f1
change image
stakbucks Aug 15, 2024
b6e1078
test
stakbucks Aug 15, 2024
7a6baab
test
stakbucks Aug 15, 2024
926f79b
test
stakbucks Aug 15, 2024
df42741
test
stakbucks Aug 15, 2024
c513d73
test
stakbucks Aug 15, 2024
7f5dad4
test
stakbucks Aug 15, 2024
0af46ce
test
stakbucks Aug 15, 2024
296e5bc
test
stakbucks Aug 15, 2024
8b80b2b
test
stakbucks Aug 15, 2024
4940cbd
test
stakbucks Aug 15, 2024
f8b510e
test
stakbucks Aug 15, 2024
55ac49f
test
stakbucks Aug 15, 2024
1199f28
test
stakbucks Aug 15, 2024
40ee59c
test
stakbucks Aug 15, 2024
2ed2be6
test
stakbucks Aug 15, 2024
fee63d8
test
stakbucks Aug 15, 2024
df69d72
test
stakbucks Aug 16, 2024
4f56d7c
test
stakbucks Aug 16, 2024
8d3146c
test
stakbucks Aug 16, 2024
84be005
test
stakbucks Aug 16, 2024
93a40f8
test
stakbucks Aug 16, 2024
a7583c9
test
stakbucks Aug 16, 2024
99d1d6d
test
stakbucks Aug 16, 2024
975b5ff
test
stakbucks Aug 16, 2024
cb87667
test
stakbucks Aug 16, 2024
e6999d1
test
stakbucks Aug 16, 2024
894a4e5
test
stakbucks Aug 16, 2024
406a09e
test
stakbucks Aug 17, 2024
931d431
serial without cache
stakbucks Aug 17, 2024
7b38e53
serial without cache
stakbucks Aug 17, 2024
198134d
serial without cache
stakbucks Aug 17, 2024
f5f77a1
parallel run
stakbucks Aug 17, 2024
32dfb4b
parallel run
stakbucks Aug 17, 2024
0d8f97e
parallel run
stakbucks Aug 17, 2024
d0ff135
parallel run
stakbucks Aug 17, 2024
a35ac39
parallel run
stakbucks Aug 17, 2024
e254abe
parallel run
stakbucks Aug 17, 2024
ec962c7
parallel run
stakbucks Aug 17, 2024
3e35480
parallel run
stakbucks Aug 17, 2024
b3a6583
parallel run
stakbucks Aug 17, 2024
d965801
parallel run
stakbucks Aug 17, 2024
9700dd6
parallel run
stakbucks Aug 17, 2024
4a924e5
parallel run
stakbucks Aug 17, 2024
7806ada
parallel run
stakbucks Aug 17, 2024
97f6f40
parallel run
stakbucks Aug 17, 2024
79a5cb2
parallel run
stakbucks Aug 17, 2024
bdda9c7
parallel run
stakbucks Aug 17, 2024
e5aa830
parallel run
stakbucks Aug 17, 2024
b6e77e0
parallel run
stakbucks Aug 17, 2024
525d01b
parallel run
stakbucks Aug 17, 2024
c14df1b
parallel run
stakbucks Aug 17, 2024
bb6929f
parallel run
stakbucks Aug 17, 2024
57102d4
parallel run
stakbucks Aug 17, 2024
297b239
parallel run
stakbucks Aug 17, 2024
fdd9137
parallel run
stakbucks Aug 17, 2024
f23589a
parallel run
stakbucks Aug 17, 2024
e3c02db
parallel run
stakbucks Aug 17, 2024
c8954f9
parallel run
stakbucks Aug 17, 2024
b3ecdd9
parallel run
stakbucks Aug 17, 2024
77ad2b5
parallel run
stakbucks Aug 17, 2024
8a6a44f
parallel run
stakbucks Aug 17, 2024
06179b6
parallel run
stakbucks Aug 17, 2024
b847fc3
parallel run
stakbucks Aug 17, 2024
5cd44e2
parallel run
stakbucks Aug 17, 2024
c0c637b
parallel run
stakbucks Aug 17, 2024
76b0b9a
parallel run
stakbucks Aug 17, 2024
4713f16
parallel run
stakbucks Aug 17, 2024
52f829d
parallel run
stakbucks Aug 17, 2024
8a48388
parallel run
stakbucks Aug 17, 2024
e568f43
parallel run
stakbucks Aug 17, 2024
0578d0c
parallel run
stakbucks Aug 17, 2024
70e2388
parallel run
stakbucks Aug 17, 2024
1c77ad6
parallel run
stakbucks Aug 17, 2024
1953858
parallel run
stakbucks Aug 17, 2024
754e7ab
parallel run
stakbucks Aug 17, 2024
d529437
parallel run
stakbucks Aug 17, 2024
944f612
web preview test
stakbucks Aug 17, 2024
f63b331
run serial without cache
stakbucks Aug 17, 2024
7e9d532
run serial without cache
stakbucks Aug 17, 2024
0b8e51b
use cache
stakbucks Aug 17, 2024
9cb4d02
use cache
stakbucks Aug 17, 2024
5350030
check
stakbucks Aug 17, 2024
81476c0
check
stakbucks Aug 17, 2024
53b7103
run parallel
stakbucks Aug 17, 2024
247ae71
run
stakbucks Aug 17, 2024
cdbb80c
run parallel
stakbucks Aug 17, 2024
6d46386
run parallel2
stakbucks Aug 17, 2024
9787470
run parallel2
stakbucks Aug 17, 2024
78a7c46
chore: new production ci flow
stakbucks Aug 17, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
189 changes: 189 additions & 0 deletions .github/workflows/ci-preview.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,189 @@
name: Preview CI
env:
VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }}
TURBO_TOKEN: ${{ secrets.VERCEL_ACCESS_TOKEN }}
TURBO_TEAM: ${{ vars.TURBO_TEAM }}
NEXT_PUBLIC_SERVER_BASE_URL: ${{secrets.NEXT_PUBLIC_SERVER_BASE_URL }}
TEST_ACCESS_TOKEN: ${{secrets.TEST_ACCESS_TOKEN }}
TEST_REFRESH_TOKEN: ${{secrets.TEST_REFRESH_TOKEN }}
on:
push:
branches-ignore:
- main
jobs:
Setup:
runs-on: ubuntu-latest
outputs:
cache_status_bottle: ${{ steps.determine-status.outputs.cache_status_bottle }}
cache_status_web: ${{ steps.determine-status.outputs.cache_status_web }}
cache_status_e2e: ${{ steps.determine-status.outputs.cache_status_e2e }}
steps:
# checkout and install pnpm
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v3
name: Install pnpm
id: pnpm-install
with:
version: 8
run_install: false
# setup node
- name: Setup Node.js environment
uses: actions/setup-node@v4
with:
node-version: 20
cache: 'pnpm'

# install dependencies
- run: npx pnpm i -r

# set .env.local
- name: create dotenv
run: |
touch apps/bottle/.env.local
echo "TEST_ACCESS_TOKEN=${{ secrets.TEST_ACCESS_TOKEN }}" >> apps/bottle/.env.local
echo "TEST_REFRESH_TOKEN=${{ secrets.TEST_REFRESH_TOKEN }}" >> apps/bottle/.env.local
echo "NEXT_PUBLIC_SERVER_BASE_URL=${{ secrets.NEXT_PUBLIC_SERVER_BASE_URL }}" >> apps/bottle/.env.local
env:
NEXT_PUBLIC_SERVER_BASE_URL: ${{ secrets.NEXT_PUBLIC_SERVER_BASE_URL }}

# determine whether @bottlesteam/bottle, @bottlesteam/web is cached on remote
- name: Determine cache status for each services
id: determine-status
run: |
pnpx turbo run build --dry-run=json > result.json
cache_status_bottle=$(jq -r '.tasks[] | select(.taskId == "@bottlesteam/bottle#build") | .cache.status' result.json)
cache_status_web=$(jq -r '.tasks[] | select(.taskId == "@bottlesteam/web#build") | .cache.status' result.json)
pnpx turbo run test:e2e --dry-run=json > result2.json
cache_status_e2e=$(jq -r '.tasks[] | select(.taskId == "@bottlesteam/e2e#test:e2e") | .cache.status' result2.json)
echo "cache_status_bottle=$cache_status_bottle" >> $GITHUB_OUTPUT
echo "cache_status_web=$cache_status_web" >> $GITHUB_OUTPUT
echo "cache_status_e2e=$cache_status_e2e" >> $GITHUB_OUTPUT

- name: Cache Status Print
run: |
echo "cache_status_bottle: ${{ steps.determine-status.outputs.cache_status_bottle }}"
echo "cache_status_web: ${{ steps.determine-status.outputs.cache_status_web }}"
echo "cache_status_e2e: ${{ steps.determine-status.outputs.cache_status_e2e }}"

# install playwright depedencies only if @bottlesteam/bottle is not cached
- run: pnpx playwright install --with-deps
if: steps.determine-status.outputs.cache_status_e2e == 'MISS'

# run turbo tasks
- run: pnpm run ci

Deploy_Bottle_to_Vercel:
# deploy Bottle to vercel
runs-on: ubuntu-latest
env:
VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID_BOTTLE }}
needs: Setup
if: needs.Setup.outputs.cache_status_bottle == 'MISS'
steps:
# checkout and install pnpm
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v3
name: Install pnpm
id: pnpm-install
with:
version: 8
run_install: false
# setup node
- name: Setup Node.js environment
uses: actions/setup-node@v4
with:
node-version: 20
cache: 'pnpm'

- name: Deploy to Vercel if needed
run: |
npm install --global vercel@latest
vercel pull --yes --environment=preview --token=${{ secrets.VERCEL_ACCESS_TOKEN }}
vercel build --token=${{ secrets.VERCEL_ACCESS_TOKEN }}
vercel deploy --prebuilt --token=${{ secrets.VERCEL_ACCESS_TOKEN }}
- name: Get Vercel Preview
uses: zentered/[email protected]
id: vercel_preview_url
env:
VERCEL_TOKEN: ${{ secrets.VERCEL_ACCESS_TOKEN }}
with:
vercel_project_id: ${{ secrets.VERCEL_PROJECT_ID_BOTTLE }}
- name: Get URL
run: echo "https://${{ steps.vercel_preview_url.outputs.preview_url }}"
- name: Send Discord Notification
env:
DATA: |
{
"content": "<@stakbucks>",
"embeds": [
{
"tile": "👀 Bottle 미리보기가 준비되었어요",
"description": "👉 https://${{ steps.vercel_preview_url.outputs.preview_url }}",
"color": 65280
}
]
}
run: |
curl -X POST -H 'Content-type: application/json' \
-d "$DATA" \
${{ secrets.DISCORD_WEBHOOK_URL }}

Deploy_Web_to_Vercel:
# deploy Web to vercel
runs-on: ubuntu-latest
env:
VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID_WEB }}
needs: Setup
if: needs.Setup.outputs.cache_status_web == 'MISS'
steps:
# checkout and install pnpm
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v3
name: Install pnpm
id: pnpm-install
with:
version: 8
run_install: false
# setup node
- name: Setup Node.js environment
uses: actions/setup-node@v4
with:
node-version: 20
cache: 'pnpm'

- run: cd apps/web

- name: Deploy to Vercel if needed
run: |
npm install --global vercel@latest
vercel pull --yes --environment=preview --token=${{ secrets.VERCEL_ACCESS_TOKEN }}
vercel build --token=${{ secrets.VERCEL_ACCESS_TOKEN }}
vercel deploy --prebuilt --token=${{ secrets.VERCEL_ACCESS_TOKEN }}
env:
VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }}
- name: Get Vercel Preview
uses: zentered/[email protected]
id: vercel_preview_url_web
env:
VERCEL_TOKEN: ${{ secrets.VERCEL_ACCESS_TOKEN }}
with:
vercel_project_id: ${{ secrets.VERCEL_PROJECT_ID_WEB }}
- name: Get URL
run: echo "https://${{ steps.vercel_preview_url_web.outputs.preview_url }}"
- name: Send Discord Notification
env:
DATA: |
{
"content": "<@stakbucks>",
"embeds": [
{
"title": "👀 Web 미리보기가 준비되었어요",
"description": "👉 https://${{ steps.vercel_preview_url_web.outputs.preview_url }}",
"color": 65280
}
]
}
run: |
curl -X POST -H 'Content-type: application/json' \
-d "$DATA" \
${{ secrets.DISCORD_WEBHOOK_URL }}
171 changes: 171 additions & 0 deletions .github/workflows/ci-production.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,171 @@
name: Production CI
env:
VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }}
TURBO_TOKEN: ${{ secrets.VERCEL_ACCESS_TOKEN }}
TURBO_TEAM: ${{ vars.TURBO_TEAM }}
NEXT_PUBLIC_SERVER_BASE_URL: ${{secrets.NEXT_PUBLIC_SERVER_BASE_URL }}
TEST_ACCESS_TOKEN: ${{secrets.TEST_ACCESS_TOKEN }}
TEST_REFRESH_TOKEN: ${{secrets.TEST_REFRESH_TOKEN }}
on:
push:
branches:
- main
jobs:
Setup:
runs-on: ubuntu-latest
outputs:
cache_status_bottle: ${{ steps.determine-status.outputs.cache_status_bottle }}
cache_status_web: ${{ steps.determine-status.outputs.cache_status_web }}
cache_status_e2e: ${{ steps.determine-status.outputs.cache_status_e2e }}
steps:
# checkout and install pnpm
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v3
name: Install pnpm
id: pnpm-install
with:
version: 8
run_install: false

# setup node
- name: Setup Node.js environment
uses: actions/setup-node@v4
with:
node-version: 20
cache: 'pnpm'

# install dependencies
- run: npx pnpm i -r

# set .env.local
- name: create dotenv
run: |
touch apps/bottle/.env.local
echo "TEST_ACCESS_TOKEN=${{ secrets.TEST_ACCESS_TOKEN }}" >> apps/bottle/.env.local
echo "TEST_REFRESH_TOKEN=${{ secrets.TEST_REFRESH_TOKEN }}" >> apps/bottle/.env.local
echo "NEXT_PUBLIC_SERVER_BASE_URL=${{ secrets.NEXT_PUBLIC_SERVER_BASE_URL }}" >> apps/bottle/.env.local
env:
NEXT_PUBLIC_SERVER_BASE_URL: ${{ secrets.NEXT_PUBLIC_SERVER_BASE_URL }}

# determine whether @bottlesteam/bottle, @bottlesteam/web is cached on remote
- name: Determine cache status for each services
id: determine-status
run: |
pnpx turbo run build --dry-run=json > result.json
cache_status_bottle=$(jq -r '.tasks[] | select(.taskId == "@bottlesteam/bottle#build") | .cache.status' result.json)
cache_status_web=$(jq -r '.tasks[] | select(.taskId == "@bottlesteam/web#build") | .cache.status' result.json)
pnpx turbo run test:e2e --dry-run=json > result2.json
cache_status_e2e=$(jq -r '.tasks[] | select(.taskId == "@bottlesteam/e2e#test:e2e") | .cache.status' result2.json)
echo "cache_status_bottle=$cache_status_bottle" >> $GITHUB_OUTPUT
echo "cache_status_web=$cache_status_web" >> $GITHUB_OUTPUT
echo "cache_status_e2e=$cache_status_e2e" >> $GITHUB_OUTPUT

- name: Cache Status Print
run: |
echo "cache_status_bottle: ${{ steps.determine-status.outputs.cache_status_bottle }}"
echo "cache_status_web: ${{ steps.determine-status.outputs.cache_status_web }}"
echo "cache_status_e2e: ${{ steps.determine-status.outputs.cache_status_e2e }}"

# install playwright depedencies only if @bottlesteam/bottle is not cached
- run: pnpx playwright install --with-deps
if: steps.determine-status.outputs.cache_status_e2e == 'MISS'

# run turbo tasks
- run: pnpm run ci

Deploy_Bottle_to_Vercel:
# deploy Bottle to vercel
runs-on: ubuntu-latest
env:
VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID_BOTTLE }}
needs: Setup
if: needs.Setup.outputs.cache_status_bottle == 'MISS'
steps:
# checkout and install pnpm
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v3
name: Install pnpm
id: pnpm-install
with:
version: 8
run_install: false
# setup node
- name: Setup Node.js environment
uses: actions/setup-node@v4
with:
node-version: 20
cache: 'pnpm'

- name: Deploy to Vercel if needed
run: |
npm install --global vercel@latest
vercel pull --yes --environment=production --token=${{ secrets.VERCEL_ACCESS_TOKEN }}
vercel build --prod --token=${{ secrets.VERCEL_ACCESS_TOKEN }}
vercel deploy --prebuilt --prod --token=${{ secrets.VERCEL_ACCESS_TOKEN }}

- name: Send Discord Notification
env:
DATA: |
{
"content": "<@stakbucks>",
"embeds": [
{
"title": "🎉 Bottle 배포 완료! 🎉",
"description": "👉 https://bottle.bottles.asia",
"color": 65280
}
]
}
run: |
curl -X POST -H 'Content-type: application/json' \
-d "$DATA" \
${{ secrets.DISCORD_WEBHOOK_URL }}

Deploy_Web_to_Vercel:
# deploy Web to vercel
runs-on: ubuntu-latest
env:
VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID_WEB }}
needs: Setup
if: needs.Setup.outputs.cache_status_web == 'MISS'
steps:
# checkout and install pnpm
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v3
name: Install pnpm
id: pnpm-install
with:
version: 8
run_install: false
# setup node
- name: Setup Node.js environment
uses: actions/setup-node@v4
with:
node-version: 20
cache: 'pnpm'

- name: Deploy to Vercel if needed
run: |
npm install --global vercel@latest
vercel pull --yes --environment=production --token=${{ secrets.VERCEL_ACCESS_TOKEN }}
vercel build --prod --token=${{ secrets.VERCEL_ACCESS_TOKEN }}
vercel deploy --prebuilt --prod --token=${{ secrets.VERCEL_ACCESS_TOKEN }}
env:
VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }}
- name: Send Discord Notification
env:
DATA: |
{
"content": "<@stakbucks>",
"embeds": [
{
"title": "🎉 배포 완료! 🎉",
"description": "👉 https://bottles.asia",
"color": 65280
}
]
}
run: |
curl -X POST -H 'Content-type: application/json' \
-d "$DATA" \
${{ secrets.DISCORD_WEBHOOK_URL }}
Loading