diff --git a/.github/workflows/build-push.yml b/.github/workflows/build-push.yml new file mode 100644 index 0000000..abdeaa6 --- /dev/null +++ b/.github/workflows/build-push.yml @@ -0,0 +1,66 @@ +# Simple workflow for deploying static content to GitHub Pages +name: build fe-docker image + +on: + # Runs on pushes targeting the default branch + push: + branches: ["main"] + + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages +permissions: + contents: read + pages: write + id-token: write + +# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued. +# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete. +concurrency: + group: "pages" + cancel-in-progress: false + +jobs: + # Single deploy job since we're just deploying + build-and-push: + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Setup docker build + uses: docker/setup-buildx-action@v2 + + - name: set npnm + uses: pnpm/action-setup@v2 + + - name: set Node.js + uses: actions/upload-pages-artifact@v2 + with: + # Upload entire repository + path: '.' + + - name: Login to Container Registry + uses: docker/login-action@v2.1.0 + with: + registry: harbor.example.com + username: ${{ secrets.HARBOR_USERNAME }} + password: ${{ secrets.HARBOR_TOKEN }} + + - name: Build and push to Container Registry + uses: docker/build-push-action@v4.0.0 + with: + context: . + push: true + pull: true + tags: ${{ steps.meta.outputs.tags }} + build-args: | + APP_ENV=${{ inputs.environment }} + + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v3 diff --git a/component/Funnel/MainFunnel.tsx b/component/Funnel/MainFunnel.tsx index cd97bc5..8db0d2d 100644 --- a/component/Funnel/MainFunnel.tsx +++ b/component/Funnel/MainFunnel.tsx @@ -10,6 +10,8 @@ interface MainFunnelPropsType { } const MainFunnel = ({ setFunnel }: MainFunnelPropsType) => { + console.log(process.env.NEXT_PUBLIC_API_URL); + return ( <> >; setProgress: React.Dispatch>; - setUserInfo: React.Dispatch>; } -const UserInfoForm = ({ - setFunnel, - setProgress, - setUserInfo, -}: UserInfoFormPropsType) => { +const UserInfoForm = ({ setFunnel, setProgress }: UserInfoFormPropsType) => { const options = ["남성", "여성"]; const { getRootProps, getRadioProps, value } = useRadioGroup({ diff --git a/environment.d.ts b/environment.d.ts new file mode 100644 index 0000000..112c1c3 --- /dev/null +++ b/environment.d.ts @@ -0,0 +1,25 @@ +declare global { + namespace NodeJS { + interface ProcessEnv { + NEXT_PUBLIC_API_URL: string; + NEXT_PUBLIC_SERVICE_ID: string; + NEXT_PUBLIC_ACCESS_KEY: string; + NEXT_PUBLIC_SECRET_KEY: string; + NEXT_PUBLIC_GITHUB_ID: string; + NEXT_PUBLIC_GITHUB_SECRET: string; + NEXT_PUBLIC_KAKAO_ID: string; + NEXT_PUBLIC_KAKAO_SECRET: string; + NEXT_PUBLIC_NAVER_ID: string; + NEXT_PUBLIC_NAVER_SECRET: string; + NEXT_PUBLIC_BASE_URL: string; + NEXT_PUBLIC_DEV_BASE_URL: string; + NEXT_PUBLIC_DEPLOY_BASE_URL: string; + + NODE_ENV: "development" | "production"; + } + } +} + +declare module "*.png"; + +export {}; diff --git a/src/app/page.tsx b/src/app/page.tsx index d45a21c..b8fd833 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -6,6 +6,8 @@ import LoginFunnel from "../../component/Funnel/LoginFunnel"; export default function Home() { const { funnel, setFunnel } = useFunnel("main"); + + console.log(process.env.NEXT_PUBLIC_API_URL); return ( { )} {funnel === "userInfo" && ( - + )} {funnel === "userPhysics" && }