윤정민 fd504738eb
All checks were successful
Build and Deploy Teams Planner Bot / build-and-run (push) Successful in 14s
initial: teams planner bot with gemini classifier and docker deploy
2026-05-15 16:53:08 +09:00

55 lines
2.2 KiB
YAML

name: Build and Deploy Teams Planner Bot
on:
push:
branches:
- develop
jobs:
build-and-run:
runs-on: ubuntu-latest
steps:
- name: Check out repository code
uses: actions/checkout@v3
- name: Extract project name
shell: bash
run: echo "PROJECT_NAME=$(echo '${{ github.repository }}' | awk -F '/' '{print $2}')" >> $GITHUB_ENV
- name: Create environment file
run: |
echo "MICROSOFT_APP_ID=${{ secrets.MICROSOFT_APP_ID }}" > .env
echo "MICROSOFT_APP_PASSWORD=${{ secrets.MICROSOFT_APP_PASSWORD }}" >> .env
echo "MICROSOFT_APP_TYPE=SingleTenant" >> .env
echo "MICROSOFT_APP_TENANT_ID=${{ secrets.MICROSOFT_APP_TENANT_ID }}" >> .env
echo "PORT=3978" >> .env
echo "OAUTH_CONNECTION_NAME=GraphConnection" >> .env
echo "GRAPH_TENANT_ID=${{ secrets.MICROSOFT_APP_TENANT_ID }}" >> .env
echo "GRAPH_CLIENT_ID=${{ secrets.MICROSOFT_APP_ID }}" >> .env
echo "GRAPH_CLIENT_SECRET=${{ secrets.MICROSOFT_APP_PASSWORD }}" >> .env
echo "LLM_PROVIDER=gemini" >> .env
echo "GEMINI_API_KEY=${{ secrets.GEMINI_API_KEY }}" >> .env
echo "GEMINI_MODEL=gemini-3.1-flash-lite" >> .env
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Build Docker image
run: docker build -t ${{ env.PROJECT_NAME }}:latest .
- name: Stop and remove existing container
run: |
docker stop ${{ env.PROJECT_NAME }} || true
docker rm ${{ env.PROJECT_NAME }} || true
- name: Run Docker container
run: |
docker run -d -p 3978:3978 \
--env-file .env \
--name ${{ env.PROJECT_NAME }} \
--network npm_default \
--restart unless-stopped \
${{ env.PROJECT_NAME }}:latest
- name: Clean up environment file
run: rm -f .env