|
11 | 11 | DB_NAME: mydatabase |
12 | 12 | DB_USER: ${{ secrets.DB_USER }} |
13 | 13 | DB_PASSWORD: ${{ secrets.DB_PASSWORD }} |
| 14 | + GOOGLE_CLIENT_ID: ${{ secrets.GOOGLE_CLIENT_ID }} |
| 15 | + GOOGLE_CLIENT_SECRET: ${{ secrets.GOOGLE_CLIENT_SECRET }} |
14 | 16 |
|
15 | 17 | jobs: |
16 | 18 | build-and-push: |
|
23 | 25 | - name: Checkout code |
24 | 26 | uses: actions/checkout@v4 |
25 | 27 |
|
| 28 | + - name: Generate Dynamic JWT Secret |
| 29 | + run: | |
| 30 | + # Generate a 64-byte hex string |
| 31 | + DYNAMIC_JWT=$(openssl rand -hex 64) |
| 32 | + # Mask it so it doesn't show up in GitHub logs |
| 33 | + echo "::add-mask::$DYNAMIC_JWT" |
| 34 | + # Save it to the environment for subsequent steps |
| 35 | + echo "JWT_SECRET=$DYNAMIC_JWT" >> $GITHUB_ENV |
| 36 | +
|
26 | 37 | - name: Set up Docker Buildx |
27 | 38 | uses: docker/setup-buildx-action@v3 |
28 | 39 |
|
|
63 | 74 | host: ${{ secrets.EC2_HOST }} |
64 | 75 | username: ${{ secrets.EC2_USERNAME }} |
65 | 76 | key: ${{ secrets.EC2_SSH_KEY }} |
66 | | - envs: REGISTRY,IMAGE_NAME,DB_NAME,DB_USER,DB_PASSWORD,GITHUB_ACTOR |
| 77 | + envs: REGISTRY,IMAGE_NAME,DB_NAME,DB_USER,DB_PASSWORD,GITHUB_ACTOR,GOOGLE_CLIENT_ID,GOOGLE_CLIENT_SECRET,JWT_SECRET |
67 | 78 | script: | |
68 | 79 | # Define the image string inside the script for safety |
69 | 80 | IMAGE="${REGISTRY}/${IMAGE_NAME}:latest" |
|
87 | 98 | -e SPRING_DATASOURCE_URL=jdbc:mysql://mysql:3306/$DB_NAME \ |
88 | 99 | -e DB_USER="$DB_USER" \ |
89 | 100 | -e DB_PASSWORD="$DB_PASSWORD" \ |
| 101 | + -e GOOGLE_CLIENT_ID="$GOOGLE_CLIENT_ID" \ |
| 102 | + -e GOOGLE_CLIENT_SECRET="$GOOGLE_CLIENT_SECRET" \ |
| 103 | + -e JWT_SECRET="$JWT_SECRET" \ |
90 | 104 | $IMAGE |
91 | 105 | |
92 | 106 | echo "== PRUNE ==" |
|
0 commit comments