콘텐츠로 이동

빌드 및 배포

이 페이지에서는 OpsAnt의 빌드 및 배포 프로세스를 소개합니다.

로컬 사전 빌드

매 릴리스 시 먼저 로컬에서 프런트엔드와 opsmini-server를 빌드하고 git에 커밋합니다.

프런트엔드

cd frontend
npm run build

빌드 산출물은 static/opsant/에 출력되며, SPA 진입점은 자동으로 templates/opsant/index.html에 기록됩니다.

opsmini-server (Go)

export PATH=/Users/vicky/go-sdk125/go/bin:$PATH GOPROXY=https://goproxy.cn,direct
cd opsmini-server
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags="-s -w" -o bin/opsmini-server-linux-amd64 ./cmd/opsmini-server
CGO_ENABLED=0 GOOS=linux GOARCH=arm64 go build -ldflags="-s -w" -o bin/opsmini-server-linux-arm64 ./cmd/opsmini-server

산출물 커밋:

git add -A && git commit -m "build: 预构建前端 + opsmini-server"

이미지 빌드

빌드 컨텍스트는 소스 디렉터리의 상위 디렉터리입니다 (여기서 opsant/는 소스 디렉터리):

cd /opt
docker build -f opsant/docker/Dockerfile -t registry.cn-beijing.aliyuncs.com/opsany/opsany-proxy-opsant:2.3.5 .

# arm64 架构
docker build -f opsant/docker/Dockerfile-arm64 -t registry.cn-beijing.aliyuncs.com/opsany/opsany-proxy-opsant:2.3.5-arm64 .

업그레이드

업그레이드 스크립트를 사용하여 새 이미지를 가져오고 컨테이너를 재생성합니다:

cd /opt/opsant/install
./opsant-update.sh proxy 2.3.5

주의 사항

  • 프런트엔드와 opsmini-server는 모두 로컬 사전 빌드 후 커밋되며, 이미지 내에서는 컴파일하지 않습니다
  • 릴리스 전에 데이터베이스 마이그레이션과 백업을 완료하는 것이 좋습니다