-
Notifications
You must be signed in to change notification settings - Fork 2
84 lines (69 loc) · 2.53 KB
/
mainClient.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
name: mainClient
on:
push:
branches:
- main
workflow_dispatch:
concurrency:
group: "gcife-${{ github.head_ref }}"
cancel-in-progress: true
jobs:
mainClient:
strategy:
matrix:
node-version: [20.x]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/[email protected]
with:
node-version: ${{ matrix.node-version }}
- name: Setup/ Install pnpm 9.7.0 manually
working-directory: ./client
run: npm install -g [email protected]
- name: Setup/ Install dependencies
working-directory: ./client
run: pnpm install
- name: Linter
working-directory: ./client
run: pnpm lint
- name: Build
working-directory: ./client
run: pnpm build
# 1. Autenticarse con google cloud
- name: Authenticate to Google Cloud
uses: google-github-actions/auth@v2
with:
project_id: "${{ secrets.GCLOUD_PROJECT_ID }}"
credentials_json: "${{ secrets.GCLOUD_SERVICE_ACCOUNT_KEY }}"
# 2. Set up Google Cloud SDK
- name: Set up Google Cloud SDK
uses: "google-github-actions/setup-gcloud@v2"
# 3. Exportar la región como variable de entorno
- name: Export region
run: echo "GCLOUD_REGION=${{ secrets.GCLOUD_REGION }}" >> $GITHUB_ENV
# 4. Autenticarse con Artifact Registry
- name: Authenticate with Artifact Registry
working-directory: ./client
run: |
gcloud auth configure-docker $GCLOUD_REGION-docker.pkg.dev
# 5. Construir la imagen Docker
- name: Build Docker image
working-directory: ./client
run: |
docker build -t $GCLOUD_REGION-docker.pkg.dev/${{ secrets.GCLOUD_PROJECT_ID }}/klowhubnext-client/klowhub-client:${{ github.sha }} .
# 6. Subir la imagen a Artifact Registry
- name: Push Docker image
working-directory: ./client
run: |
docker push $GCLOUD_REGION-docker.pkg.dev/${{ secrets.GCLOUD_PROJECT_ID }}/klowhubnext-client/klowhub-client:${{ github.sha }}
# 7. Desplegar a Cloud Run
- name: Deploy to Cloud Run
working-directory: ./client
run: |
gcloud run deploy klowhub-client-service \
--image=$GCLOUD_REGION-docker.pkg.dev/${{ secrets.GCLOUD_PROJECT_ID }}/klowhubnext-client/klowhub-client:${{ github.sha }} \
--region=$GCLOUD_REGION \
--platform=managed \
--allow-unauthenticated