[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

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
[Terraform 튜토리얼 1-6] 중복 없애다 망한 썰 – DRY 원칙, 정말 항상 맞을까?

[Terraform 튜토리얼 1-6] 중복 없애다 망한 썰 – DRY 원칙, 정말 항상 맞을까?

개발자라면 한 번쯤 들어봤을 말, "Don't Repeat Yourself", 줄여서 DRY 원칙. 이건 소프트웨어 개발에서 아주 중요한 원칙이에요. 중복을 줄이면 버그도 줄고, 유지 보수도 쉬워지고, 코드도 깔끔해지죠. 그런데… Terraform 같은 IaC 세계에서도 DRY가 무조건 좋을까요? 🤔 DRY가 뭔데? DRY 원칙의 핵심은 딱 하나: "같은 걸 반복해서 쓰지 마." * 상수 값, 로직, 설정

By Chansong