mirror of
https://github.com/Dvorinka/Containr.git
synced 2026-06-04 04:22:57 +00:00
feat: initial implementation of container management platform
This commit is contained in:
Executable
+56
@@ -0,0 +1,56 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Build CLI script for Containr
|
||||
set -e
|
||||
|
||||
echo "🔨 Building Containr CLI..."
|
||||
|
||||
# Get version from git tag or use default
|
||||
VERSION=${VERSION:-$(git describe --tags --always --dirty 2>/dev/null || echo "dev")}
|
||||
BUILD_TIME=$(date -u +"%Y-%m-%dT%H:%M:%SZ")
|
||||
COMMIT=$(git rev-parse --short HEAD 2>/dev/null || echo "unknown")
|
||||
|
||||
# Build flags
|
||||
LDFLAGS="-X main.Version=${VERSION} -X main.BuildTime=${BUILD_TIME} -X main.GitCommit=${COMMIT}"
|
||||
|
||||
# Build for multiple platforms
|
||||
PLATFORMS="linux/amd64 linux/arm64 darwin/amd64 darwin/arm64 windows/amd64"
|
||||
|
||||
for platform in $PLATFORMS; do
|
||||
GOOS=${platform%/*}
|
||||
GOARCH=${platform#*/}
|
||||
|
||||
OUTPUT_NAME="containr-${GOOS}-${GOARCH}"
|
||||
if [ "$GOOS" = "windows" ]; then
|
||||
OUTPUT_NAME="${OUTPUT_NAME}.exe"
|
||||
fi
|
||||
|
||||
echo "📦 Building for ${platform}..."
|
||||
|
||||
GOOS=$GOOS GOARCH=$GOARCH go build \
|
||||
-ldflags "$LDFLAGS" \
|
||||
-o "bin/${OUTPUT_NAME}" \
|
||||
./cmd/cli
|
||||
|
||||
echo "✅ Built bin/${OUTPUT_NAME}"
|
||||
done
|
||||
|
||||
echo "🎉 CLI build complete!"
|
||||
echo ""
|
||||
echo "Available binaries:"
|
||||
ls -la bin/containr-*
|
||||
|
||||
# Create a symlink for the current platform
|
||||
CURRENT_OS=$(uname -s | tr '[:upper:]' '[:lower:]')
|
||||
CURRENT_ARCH=$(uname -m | sed 's/x86_64/amd64/' | sed 's/arm64/arm64/')
|
||||
|
||||
if [ -f "bin/containr-${CURRENT_OS}-${CURRENT_ARCH}" ]; then
|
||||
ln -sf "containr-${CURRENT_OS}-${CURRENT_ARCH}" bin/containr
|
||||
echo "🔗 Created symlink: bin/containr -> containr-${CURRENT_OS}-${CURRENT_ARCH}"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "To install CLI:"
|
||||
echo " sudo cp bin/containr /usr/local/bin/"
|
||||
echo " # or"
|
||||
echo " export PATH=\$PWD/bin:\$PATH"
|
||||
Reference in New Issue
Block a user