[Troubleshooting] Azure Function App with GitHub Actions

[Troubleshooting] Azure Function App with GitHub Actions
Azure Function App
  1. Azure Function App을 Azure에서 기본 제공하는 GitHub Actions Deployment Template으로 CI/CD를 구성하면 애플리케이션 배포 후 Function을 찾지 못하는 문제가 발생합니다.
  2. 이유는 위 참고문서에서 나오듯 WEBSITE_RUN_FROM_PACKAGE 라는 환경변수가 자동으로 추가되기 때문입니다.
  3. 로컬 개발환경에서는 정상적으로 동작하는데 원격으로 배포만 하면 문제가 생겨서 GitHub Actions Yaml 파일에 Azure CLI로 해당 환경변수를 삭제하는 스크립트를 넣어보고 별 방법을 다 써 봤지만 결국 문제를 해결하지 못했습니다. ㅠㅠ
  4. 결국 로컬 개발 환경처럼 Azure Functions Core Tool을 통해 원격 클라우드 자원에 접근하게끔 GitHub Actions 배포 스크립트를 작성하면 됩니다.
    1. Checkout main repo to current directory.
    2. Install azure-functions-core-tools
    3. func azure functionapp publish

name: func-xxx

on:
  push:
    branches:
      - main
  workflow_dispatch:

env:
  AZURE_FUNCTIONAPP_PACKAGE_PATH: "." 
  PYTHON_VERSION: "3.11" 

jobs:
  publish:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout repository
        uses: actions/checkout@v4

      - name: Setup Python version
        uses: actions/setup-python@v5
        with:
          python-version: ${{ env.PYTHON_VERSION }}

      - name: Create and start virtual environment
        run: |
          python -m venv venv
          source venv/bin/activate

      - name: Install dependencies
        run: pip install -r requirements.txt

      - name: Publish function app by az-core-tools
        run: |
          curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash
          sudo apt-get install azure-functions-core-tools-4
          
          az login --service-principal -u xxx -p xxx --tenant xxx
          
          func azure functionapp publish func-xxx
          
        shell: bash
  1. 정상 동작합니다. ^^

Read more

풀스택으로 구현하는 전력 사용량 비교 대시보드: BFF 패턴부터 자동 Fallback UI까지

풀스택으로 구현하는 전력 사용량 비교 대시보드: BFF 패턴부터 자동 Fallback UI까지

전력 사용량 비교 서비스를 구현하며 배운 BFF 패턴, 비동기 병렬 처리, 그리고 사용자 경험 설계 이야기 들어가며 전력 사용량 비교 분석 기능을 개발하면서 흥미로운 고민에 직면했습니다. 클라이언트에게 4가지 서로 다른 데이터를 제공해야 하는데, 각각을 독립적인 API로 개발할지, 아니면 하나의 API로 통합해서 제공할지 결정해야 했습니다. API 설계 방향 결론부터 말하자면, 단일

By Jeonggil.C
Claude Code와 Obsidian MCP 연동 가이드

Claude Code와 Obsidian MCP 연동 가이드

소개 Claude Code는 Anthropic의 공식 CLI 도구로, MCP(Model Context Protocol)를 통해 다양한 외부 도구와 연동할 수 있습니다. 이 가이드에서는 Claude Code와 Obsidian을 연동하여 AI 에이전트가 여러분의 노트를 읽고 편집할 수 있도록 설정하는 방법을 소개합니다. MCP(Model Context Protocol)란? MCP는 AI 모델이 외부 데이터 소스 및 도구와 상호작용할

By Kyeongrok.kim
기술뉴스, 2025-09-25

기술뉴스, 2025-09-25

끝없이 수정하다 AI 성과 무너뜨린다··· ‘둠프롬프팅’의 함정최근 LLM과 AI 에이전트 결과물을 무한 반복 수정하는 ‘둠프롬프팅’ 현상이 관찰되고 있다. 이는 성과 저하와 막대한 비용을 초래할 수 있다.CIOGrant Gross초보를 위한 Claude Code 안내서Claude Code의 등장으로 코딩의 패러다임이 완전히 바뀌었습니다. AI 시대의 개발이란? 개발자의 역할은 무엇일까요?Subicura's BlogsubicuraShould we revisit Extreme

By Hyonsok