mirror of
https://github.com/kubenetworks/kubevpn.git
synced 2025-12-24 11:51:13 +08:00
support arm64 and 386
This commit is contained in:
42
.github/workflows/release.yml
vendored
42
.github/workflows/release.yml
vendored
@@ -9,6 +9,18 @@ jobs:
|
||||
build:
|
||||
name: Create Release
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
os-arch: [
|
||||
kubevpn-darwin-amd64,
|
||||
kubevpn-darwin-arm64,
|
||||
kubevpn-windows-amd64.exe,
|
||||
kubevpn-windows-arm64.exe,
|
||||
kubevpn-windows-386.exe,
|
||||
kubevpn-linux-amd64,
|
||||
kubevpn-linux-arm64,
|
||||
kubevpn-linux-386,
|
||||
]
|
||||
steps:
|
||||
- name: Set up Go
|
||||
uses: actions/setup-go@v2
|
||||
@@ -48,38 +60,16 @@ jobs:
|
||||
with:
|
||||
name: UPLOAD_URL
|
||||
path: UPLOAD_URL
|
||||
- name: Build kubevpn-linux
|
||||
run: make kubevpn-linux
|
||||
- name: Upload Release Asset
|
||||
uses: actions/upload-release-asset@v1
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
with:
|
||||
upload_url: ${{ steps.create_release.outputs.upload_url }}
|
||||
asset_path: kubevpn-linux-amd64
|
||||
asset_name: kubevpn-linux-amd64
|
||||
asset_content_type: application/octet-stream
|
||||
|
||||
- name: Build kubevpn-macos
|
||||
run: make kubevpn-macos
|
||||
- name: Upload Release Asset
|
||||
uses: actions/upload-release-asset@v1
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
with:
|
||||
upload_url: ${{ steps.create_release.outputs.upload_url }}
|
||||
asset_path: kubevpn-darwin-amd64
|
||||
asset_name: kubevpn-darwin-amd64
|
||||
asset_content_type: application/octet-stream
|
||||
- name: Build kubevpn-all-arch
|
||||
run: make all
|
||||
|
||||
- name: Build kubevpn-windows
|
||||
run: make kubevpn-windows
|
||||
- name: Upload Release Asset
|
||||
uses: actions/upload-release-asset@v1
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
with:
|
||||
upload_url: ${{ steps.create_release.outputs.upload_url }}
|
||||
asset_path: kubevpn-windows-amd64.exe
|
||||
asset_name: kubevpn-windows-amd64.exe
|
||||
asset_path: ${{ matrix.os-arch }}
|
||||
asset_name: ${{ matrix.os-arch }}
|
||||
asset_content_type: application/octet-stream
|
||||
|
||||
81
Makefile
81
Makefile
@@ -9,50 +9,83 @@ GOARCH := $(shell go env GOHOSTARCH)
|
||||
TARGET := kubevpn-${GOOS}-${GOARCH}
|
||||
OS_ARCH := ${GOOS}/${GOARCH}
|
||||
|
||||
FOLDER := github.com/wencaiwulue/kubevpn/cmd/kubevpn
|
||||
CONTROL_PLANE_FOLDER := github.com/wencaiwulue/kubevpn/pkg/controlplane/cmd/server
|
||||
|
||||
# Setup the -ldflags option for go build here, interpolate the variable values
|
||||
LDFLAGS=--ldflags "-w -s \
|
||||
-X github.com/wencaiwulue/kubevpn/cmd/kubevpn/cmds.Version=${VERSION} \
|
||||
-X github.com/wencaiwulue/kubevpn/cmd/kubevpn/cmds.BuildTime=${BUILD_TIME} \
|
||||
-X github.com/wencaiwulue/kubevpn/cmd/kubevpn/cmds.GitCommit=${GIT_COMMIT} \
|
||||
-X github.com/wencaiwulue/kubevpn/cmd/kubevpn/cmds.Branch=${BRANCH} \
|
||||
-X github.com/wencaiwulue/kubevpn/cmd/kubevpn/cmds.OsArch=${OS_ARCH} \
|
||||
-X ${FOLDER}/cmds.Version=${VERSION} \
|
||||
-X ${FOLDER}/cmds.BuildTime=${BUILD_TIME} \
|
||||
-X ${FOLDER}/cmds.GitCommit=${GIT_COMMIT} \
|
||||
-X ${FOLDER}/cmds.Branch=${BRANCH} \
|
||||
-X ${FOLDER}/cmds.OsArch=${OS_ARCH} \
|
||||
"
|
||||
|
||||
.PHONY: kubevpn-macos
|
||||
kubevpn-macos:
|
||||
CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build ${LDFLAGS} -o kubevpn-darwin-amd64 github.com/wencaiwulue/kubevpn/cmd/kubevpn
|
||||
.PHONY: all
|
||||
all: kubevpn-darwin-amd64 kubevpn-darwin-arm64 \
|
||||
kubevpn-windows-amd64 kubevpn-windows-386 kubevpn-windows-arm64 \
|
||||
kubevpn-linux-amd64 kubevpn-linux-386 kubevpn-linux-arm64 \
|
||||
image image-mesh image-control-plane
|
||||
|
||||
# ---------darwin-----------
|
||||
.PHONY: kubevpn-darwin-amd64
|
||||
kubevpn-darwin-amd64:
|
||||
CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build ${LDFLAGS} -o kubevpn-darwin-amd64 ${FOLDER}
|
||||
chmod +x kubevpn-darwin-amd64
|
||||
cp kubevpn-darwin-amd64 /usr/local/bin/kubevpn
|
||||
.PHONY: kubevpn-darwin-arm64
|
||||
kubevpn-darwin-arm64:
|
||||
CGO_ENABLED=0 GOOS=darwin GOARCH=arm64 go build ${LDFLAGS} -o kubevpn-darwin-arm64 ${FOLDER}
|
||||
chmod +x kubevpn-darwin-arm64
|
||||
cp kubevpn-darwin-arm64 /usr/local/bin/kubevpn
|
||||
# ---------darwin-----------
|
||||
|
||||
.PHONY: kubevpn-windows
|
||||
kubevpn-windows:
|
||||
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build ${LDFLAGS} -o kubevpn-windows-amd64.exe github.com/wencaiwulue/kubevpn/cmd/kubevpn
|
||||
# ---------windows-----------
|
||||
.PHONY: kubevpn-windows-amd64
|
||||
kubevpn-windows-amd64:
|
||||
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build ${LDFLAGS} -o kubevpn-windows-amd64.exe ${FOLDER}
|
||||
.PHONY: kubevpn-windows-arm64
|
||||
kubevpn-windows-arm64:
|
||||
CGO_ENABLED=0 GOOS=windows GOARCH=arm64 go build ${LDFLAGS} -o kubevpn-windows-arm64.exe ${FOLDER}
|
||||
.PHONY: kubevpn-windows-386
|
||||
kubevpn-windows-386:
|
||||
CGO_ENABLED=0 GOOS=windows GOARCH=386 go build ${LDFLAGS} -o kubevpn-windows-386.exe ${FOLDER}
|
||||
# ---------windows-----------
|
||||
|
||||
.PHONY: kubevpn-linux
|
||||
kubevpn-linux:
|
||||
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build ${LDFLAGS} -o kubevpn-linux-amd64 github.com/wencaiwulue/kubevpn/cmd/kubevpn
|
||||
# ---------linux-----------
|
||||
.PHONY: kubevpn-linux-amd64
|
||||
kubevpn-linux-amd64:
|
||||
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build ${LDFLAGS} -o kubevpn-linux-amd64 ${FOLDER}
|
||||
chmod +x kubevpn-linux-amd64
|
||||
cp kubevpn-linux-amd64 /usr/local/bin/kubevpn
|
||||
|
||||
.PHONY: control-plane-linux
|
||||
control-plane-linux:
|
||||
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o envoy-xds-server github.com/wencaiwulue/kubevpn/pkg/controlplane/cmd/server
|
||||
chmod +x envoy-xds-server
|
||||
.PHONY: kubevpn-linux-arm64
|
||||
kubevpn-linux-arm64:
|
||||
CGO_ENABLED=0 GOOS=linux GOARCH=arm64 go build ${LDFLAGS} -o kubevpn-linux-arm64 ${FOLDER}
|
||||
chmod +x kubevpn-linux-arm64
|
||||
cp kubevpn-linux-arm64 /usr/local/bin/kubevpn
|
||||
.PHONY: kubevpn-linux-386
|
||||
kubevpn-linux-386:
|
||||
CGO_ENABLED=0 GOOS=linux GOARCH=386 go build ${LDFLAGS} -o kubevpn-linux-386 ${FOLDER}
|
||||
chmod +x kubevpn-linux-386
|
||||
cp kubevpn-linux-386 /usr/local/bin/kubevpn
|
||||
# ---------linux-----------
|
||||
|
||||
.PHONY: image
|
||||
image: kubevpn-linux
|
||||
image: kubevpn-linux-amd64
|
||||
mv kubevpn-linux-amd64 kubevpn
|
||||
docker build -t naison/kubevpn:v2 -f ./dockerfile/server/Dockerfile .
|
||||
rm -fr kubevpn
|
||||
docker push naison/kubevpn:v2
|
||||
|
||||
.PHONY: image_mesh
|
||||
image_mesh:
|
||||
.PHONY: image-mesh
|
||||
image-mesh:
|
||||
docker build -t naison/kubevpnmesh:v2 -f ./dockerfile/mesh/Dockerfile .
|
||||
docker push naison/kubevpnmesh:v2
|
||||
|
||||
.PHONY: image_control_plane
|
||||
image_control_plane: control-plane-linux
|
||||
.PHONY: image-control-plane
|
||||
image-control-plane:
|
||||
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o envoy-xds-server ${CONTROL_PLANE_FOLDER}
|
||||
chmod +x envoy-xds-server
|
||||
docker build -t naison/envoy-xds-server:latest -f ./dockerfile/controlplane/Dockerfile .
|
||||
rm -fr envoy-xds-server
|
||||
docker push naison/envoy-xds-server:latest
|
||||
|
||||
@@ -10,9 +10,9 @@ kubernetes cluster service can also access your local service
|
||||
```shell
|
||||
git clone https://github.com/wencaiwulue/kubevpn.git
|
||||
cd kubevpn
|
||||
make kubevpn-linux
|
||||
make kubevpn-macos
|
||||
make kubevpn-windows
|
||||
make kubevpn-linux-amd64
|
||||
make kubevpn-darwin-amd64
|
||||
make kubevpn-windows-amd64
|
||||
```
|
||||
|
||||
if you are using windows, you can build by this command:
|
||||
|
||||
@@ -9,9 +9,9 @@
|
||||
```shell
|
||||
git clone https://github.com/wencaiwulue/kubevpn.git
|
||||
cd kubevpn
|
||||
make kubevpn-linux
|
||||
make kubevpn-macos
|
||||
make kubevpn-windows
|
||||
make kubevpn-linux-amd64
|
||||
make kubevpn-darwin-amd64
|
||||
make kubevpn-windows-amd64
|
||||
```
|
||||
|
||||
如果你在使用 Windows 系统,可以使用下面这条命令构建:
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
//go:build windows && x86
|
||||
// +build windows,x86
|
||||
//go:build windows && (x86 || 386)
|
||||
// +build windows
|
||||
// +build x86 386
|
||||
|
||||
package wintun
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
//go:build !amd64 && !arm64
|
||||
// +build !amd64,!arm64
|
||||
//go:build !amd64 && !arm64 && !x86 && !386
|
||||
// +build !amd64,!arm64,!x86,!386
|
||||
|
||||
package pkg
|
||||
|
||||
|
||||
Reference in New Issue
Block a user