Zum Inhalt

Build und Deployment

Diese Seite beschreibt den Build- und Deployment-Prozess von OpsAnt.

Lokaler Pre-Build

Bei jeder Veröffentlichung werden zunächst das Frontend und der opsmini-server lokal gebaut und in git committet.

Frontend

cd frontend
npm run build

Die Build-Artefakte werden nach static/opsant/ ausgegeben, der SPA-Einstieg wird automatisch in templates/opsant/index.html geschrieben.

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

Artefakte committen:

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

Image bauen

Der Build-Kontext ist das übergeordnete Verzeichnis des Quellcode-Verzeichnisses (wobei opsant/ das Quellcode-Verzeichnis ist):

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 .

Upgrade

Mit dem Upgrade-Skript das neue Image pullen und den Container neu erstellen:

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

Hinweise

  • Frontend und opsmini-server werden beide als lokaler Pre-Build committet, im Image wird nicht kompiliert
  • Vor der Veröffentlichung wird empfohlen, die Datenbankmigration und das Backup abzuschließen