빌드 및 배포¶
이 페이지에서는 OpsAnt의 빌드 및 배포 프로세스를 소개합니다.
로컬 사전 빌드¶
매 릴리스 시 먼저 로컬에서 프런트엔드와 opsmini-server를 빌드하고 git에 커밋합니다.
프런트엔드¶
빌드 산출물은 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
산출물 커밋:
이미지 빌드¶
빌드 컨텍스트는 소스 디렉터리의 상위 디렉터리입니다 (여기서 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 .
업그레이드¶
업그레이드 스크립트를 사용하여 새 이미지를 가져오고 컨테이너를 재생성합니다:
주의 사항¶
- 프런트엔드와 opsmini-server는 모두 로컬 사전 빌드 후 커밋되며, 이미지 내에서는 컴파일하지 않습니다
- 릴리스 전에 데이터베이스 마이그레이션과 백업을 완료하는 것이 좋습니다