Skip to content

Commit

Permalink
fix : main.yaml
Browse files Browse the repository at this point in the history
  • Loading branch information
bik1111 committed Sep 18, 2023
1 parent 69d9ef5 commit cd74047
Show file tree
Hide file tree
Showing 5 changed files with 75 additions and 17 deletions.
17 changes: 10 additions & 7 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,9 @@ on:
env:
DOCKER_IMAGE: ghcr.io/bik1111/batshu-backend
VERSION: ${{ github.sha }}
PROJECT_ID: ${{ secrets.PROJECT_ID }}
PRIVATE_KEY_ID: ${{ secrets.PRIVATE_KEY_ID }}
CLIENT_EMAIL: ${{ secrets.CLIENT_EMAIL }}
NAME: go_cicd

jobs:
Expand All @@ -21,17 +24,24 @@ jobs:
steps:
# github repository에서 checkout
- uses: actions/checkout@v2

# docker build 수행
- name: Set up docker buildx
id: buildx
uses: docker/setup-buildx-action@v1
run: |
docker build --build-arg PROJECT_ID="${{env.PROJECT_ID}}" \
--build-arg PRIVATE_KEY_ID="${{env.PRIVATE_KEY_ID}}" \
--build-arg CLIENT_EMAIL="${{env.CLIENT_EMAIL}}" \
- name: Cache docker layers
uses: actions/cache@v2
with:
path: /tmp/.buildx-cache
key: ${{ runner.os }}-buildx-${{ env.VERSION }}
restore-keys: |
${{ runner.os }}-buildx-
# GitHub 컨테이너 레지스트리에 로그인 후 빌드 & 푸시
- name: Login to ghcr
uses: docker/login-action@v1
Expand All @@ -40,13 +50,6 @@ jobs:
username: ${{ github.repository_owner }}
password: ${{ secrets.GHCR_TOKEN }}

- name: create-json
id: create-json
uses: jsdaniell/[email protected]
with:
name: "serviceAccountKey.json"
json: ${{ secrets.FIREBASE_SERVICE_ACCOUNT_KEY }}

- name: Build and push
id: docker_build
uses: docker/build-push-action@v2
Expand Down
12 changes: 12 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,17 @@
FROM node:16-alpine

# ⭐ 'ARG' 예약어를 통해 인자로 전달 받아야 한다.
ARG PROJECT_ID \
PRIVATE_KEY_ID \
CLIENT_EMAIL


# ⭐ 'ENV' 예약어를 통해 전달받은 값을 실제 값과 매칭시켜야 한다.
ENV PRIVATE_KEY_ID=${PRIVATE_KEY_ID} \
PRIVATE_KEY_ID=${PRIVATE_KEY_ID} \
CLIENT_EMAIL=${CLIENT_EMAIL}


WORKDIR /src

COPY package*.json ./
Expand Down
6 changes: 2 additions & 4 deletions dist/auth/auth.js
Original file line number Diff line number Diff line change
Expand Up @@ -81,12 +81,10 @@ var confirmAndFetchUserInfo = function (req, res) { return __awaiter(void 0, voi
console.error("Firebase에서 사용자 정보 가져오기 오류:", err_1);
return [3 /*break*/, 4];
case 4: return [3 /*break*/, 6];
case 5:
res.status(401).send({
case 5: return [2 /*return*/, res.status(401).send({
ok: false,
msg: "UID값이 존재하지 않습니다."
});
_a.label = 6;
})];
case 6: return [2 /*return*/];
}
});
Expand Down
40 changes: 36 additions & 4 deletions dist/auth/firebase.js
Original file line number Diff line number Diff line change
@@ -1,11 +1,43 @@
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.administrator = void 0;
var firebase_admin_1 = __importDefault(require("firebase-admin"));
var serviceAccount = require("../../serviceAccountKey.json");
exports.administrator = firebase_admin_1.default.initializeApp({
credential: firebase_admin_1.default.credential.cert(serviceAccount)
var admin = __importStar(require("firebase-admin"));
var dotenv_1 = __importDefault(require("dotenv"));
dotenv_1.default.config();
var privateKey = process.env.FIREBASE_PRIVATE_KEY;
if (privateKey) {
privateKey = privateKey.replace(/\\n/g, '\n');
}
exports.administrator = admin.initializeApp({
credential: admin.credential.cert({
projectId: process.env.FIREBASE_PROJECT_ID,
clientEmail: process.env.FIREBASE_CLIENT_EMAIL,
privateKey: privateKey
}),
});
17 changes: 15 additions & 2 deletions src/auth/firebase.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,19 @@
import * as admin from 'firebase-admin';
import dotenv from "dotenv";
dotenv.config();

admin.initializeApp();
let privateKey: string | undefined = process.env.FIREBASE_PRIVATE_KEY;

export const administrator = admin.initializeApp();
if (privateKey) {
privateKey = privateKey.replace(/\\n/g, '\n');
}


export const administrator = admin.initializeApp({
credential: admin.credential.cert({
projectId: process.env.FIREBASE_PROJECT_ID,
clientEmail: process.env.FIREBASE_CLIENT_EMAIL,
privateKey: privateKey
}),
});

0 comments on commit cd74047

Please sign in to comment.