started with makefile update
This commit is contained in:
parent
240a49065d
commit
f1fa264043
19
Dockerfile
19
Dockerfile
@ -4,26 +4,23 @@
|
||||
#
|
||||
|
||||
# Build frontend first
|
||||
FROM node:11 AS frontend
|
||||
FROM node:latest AS ui
|
||||
|
||||
# Install dependencies
|
||||
WORKDIR /src/alice-lg/client
|
||||
ADD client/package.json .
|
||||
ADD client/yarn.lock .
|
||||
WORKDIR /src/alice-lg/ui
|
||||
ADD ui/package.json .
|
||||
ADD ui/yarn.lock .
|
||||
|
||||
RUN npm install -g gulp@4.0.0
|
||||
RUN npm install -g gulp-cli
|
||||
RUN yarn install
|
||||
|
||||
# Add frontend
|
||||
WORKDIR /src/alice-lg/client
|
||||
ADD client .
|
||||
ADD ui/ .
|
||||
|
||||
# Build frontend
|
||||
RUN DISABLE_LOGGING=1 NODE_ENV=production /usr/local/bin/gulp
|
||||
RUN yarn build
|
||||
|
||||
# Build the backend
|
||||
FROM golang:1.17 AS backend
|
||||
FROM golang:1.18 AS backend
|
||||
|
||||
# Install dependencies
|
||||
WORKDIR /src/alice-lg
|
||||
@ -34,7 +31,7 @@ RUN go mod download
|
||||
ADD . .
|
||||
|
||||
# Add client
|
||||
COPY --from=frontend /src/alice-lg/client/build client/build
|
||||
COPY --from=ui /src/alice-lg/ui/build ui/build
|
||||
|
||||
WORKDIR /src/alice-lg/cmd/alice-lg
|
||||
RUN make alpine
|
||||
|
110
Makefile
110
Makefile
@ -1,119 +1,39 @@
|
||||
|
||||
#
|
||||
# Build the Alice Looking Glass
|
||||
# -----------------------------
|
||||
#
|
||||
# Build the Alice Looking Glass locally
|
||||
#
|
||||
|
||||
PROG=alice-lg
|
||||
ARCH=amd64
|
||||
|
||||
SYSTEM_INIT=systemd
|
||||
|
||||
# == END BUILD CONFIGURATION ==
|
||||
|
||||
VERSION=$(shell cat ./VERSION)
|
||||
|
||||
# Specify build server for remotely building the RPM
|
||||
# you can do this when you invoke the makefile
|
||||
# using:
|
||||
# make remote_rpm BUILD_SERVER=build-rpm.example.com
|
||||
BUILD_SERVER=''
|
||||
|
||||
DIST=DIST/
|
||||
REMOTE_DIST=$(PROG)-$(DIST)
|
||||
|
||||
RPM=$(PROG)-$(VERSION)-1.x86_64.rpm
|
||||
|
||||
LOCAL_RPMS=RPMS
|
||||
|
||||
all: alice
|
||||
|
||||
client_dev:
|
||||
$(MAKE) -C client/
|
||||
test: ui_test backend_test
|
||||
|
||||
client_prod:
|
||||
$(MAKE) -C client/ client_prod
|
||||
|
||||
backend_prod: client_prod
|
||||
$(MAKE) -C cmd/alice-lg/ linux
|
||||
|
||||
backend:
|
||||
$(MAKE) -C cmd/alice-lg/ linux
|
||||
|
||||
backend_tests:
|
||||
go test ./pkg/...
|
||||
|
||||
test: backend_tests
|
||||
|
||||
|
||||
alice: backend_tests backend_prod
|
||||
alice: ui backend
|
||||
cp cmd/alice-lg/alice-lg-* bin/
|
||||
|
||||
ui:
|
||||
$(MAKE) -C ui/
|
||||
|
||||
dist: clean alice
|
||||
ui_test:
|
||||
$(MAKE) -C ui/ test
|
||||
|
||||
mkdir -p $(DIST)opt/alice-lg/alice-lg/bin
|
||||
mkdir -p $(DIST)etc/alice-lg
|
||||
backend:
|
||||
$(MAKE) -C cmd/alice-lg/ static
|
||||
|
||||
# Adding post install script
|
||||
cp install/scripts/after_install $(DIST)/.
|
||||
|
||||
ifeq ($(SYSTEM_INIT), systemd)
|
||||
# Installing systemd services
|
||||
mkdir -p $(DIST)usr/lib/systemd/system/
|
||||
cp install/systemd/* $(DIST)usr/lib/systemd/system/.
|
||||
else
|
||||
# Installing upstart configuration
|
||||
mkdir -p $(DIST)/etc/init/
|
||||
cp install/upstart/* $(DIST)etc/init/.
|
||||
endif
|
||||
|
||||
# Copy example configuration
|
||||
cp etc/alice-lg/alice.example.conf $(DIST)/etc/alice-lg/alice.example.conf
|
||||
|
||||
# Copy application
|
||||
cp bin/$(PROG)-linux-$(ARCH) DIST/opt/alice-lg/alice-lg/bin/.
|
||||
|
||||
|
||||
rpm: dist
|
||||
|
||||
# Clear tmp failed build (if any)
|
||||
mkdir -p $(LOCAL_RPMS)
|
||||
|
||||
# Create RPM from dist
|
||||
fpm -s dir -t rpm -n $(PROG) -v $(VERSION) -C $(DIST) \
|
||||
--architecture $(ARCH) \
|
||||
--config-files /etc/alice-lg/alice.example.conf \
|
||||
--after-install $(DIST)/after_install \
|
||||
opt/ etc/
|
||||
|
||||
mv $(RPM) $(LOCAL_RPMS)
|
||||
|
||||
|
||||
build_server:
|
||||
ifeq ($(BUILD_SERVER), '')
|
||||
$(error BUILD_SERVER not configured)
|
||||
endif
|
||||
|
||||
remote_rpm: build_server dist
|
||||
|
||||
mkdir -p $(LOCAL_RPMS)
|
||||
|
||||
# Copy distribution to build server
|
||||
ssh $(BUILD_SERVER) -- rm -rf $(REMOTE_DIST)
|
||||
scp -r $(DIST) $(BUILD_SERVER):$(REMOTE_DIST)
|
||||
ssh $(BUILD_SERVER) -- fpm -s dir -t rpm -n $(PROG) -v $(VERSION) -C $(REMOTE_DIST) \
|
||||
--architecture $(ARCH) \
|
||||
--config-files /etc/alice-lg/alice.example.conf \
|
||||
--after-install $(REMOTE_DIST)/after_install \
|
||||
opt/ etc/
|
||||
|
||||
# Get rpm from server
|
||||
scp $(BUILD_SERVER):$(RPM) $(LOCAL_RPMS)/.
|
||||
backend_test:
|
||||
go test ./pkg/...
|
||||
|
||||
|
||||
clean:
|
||||
rm -f bin/alice-lg-linux-amd64
|
||||
rm -f bin/alice-lg-osx-amd64
|
||||
rm -rf $(DIST)
|
||||
|
||||
|
||||
.PHONY: backend ui clean
|
||||
|
||||
|
@ -3,14 +3,16 @@
|
||||
|
||||
DOCKER := docker
|
||||
|
||||
DOCKER_CONTAINER := alice-lg-build
|
||||
DOCKER_IMAGE := golang:1.18
|
||||
|
||||
all: alice
|
||||
cp cmd/alice-lg/alice-lg-* bin/
|
||||
|
||||
client:
|
||||
$(MAKE) -C client/ -f Makefile.docker client_prod
|
||||
ui:
|
||||
$(MAKE) -C ui/ -f Makefile.docker client_prod
|
||||
|
||||
alice: client
|
||||
$(MAKE) -C cmd/alice-lg -f Makefile.docker
|
||||
|
||||
.PHONY: client alice
|
||||
|
||||
|
@ -1,6 +1,5 @@
|
||||
#
|
||||
# Alice LG Backend
|
||||
# ----------------
|
||||
# Alice LG Backend Makefile
|
||||
#
|
||||
|
||||
PROG=alice-lg
|
||||
@ -28,31 +27,31 @@ all: deps $(TARGET)
|
||||
@echo "Built $(VERSION) @ $(TARGET)"
|
||||
|
||||
deps:
|
||||
GO111MODULE=on go get -v .
|
||||
go get -v .
|
||||
|
||||
osx-dev:
|
||||
GO111MODULE=on go run $(FILES)
|
||||
go run $(FILES)
|
||||
|
||||
osx:
|
||||
GO111MODULE=on GOARCH=$(ARCH) GOOS=darwin go build $(LDFLAGS) -o $(PROG)-osx-$(ARCH)
|
||||
GOARCH=$(ARCH) GOOS=darwin go build $(LDFLAGS) -o $(PROG)-osx-$(ARCH)
|
||||
|
||||
linux:
|
||||
GO111MODULE=on GOARCH=$(ARCH) GOOS=linux go build $(LDFLAGS) -o $(PROG)-linux-$(ARCH)
|
||||
GOARCH=$(ARCH) GOOS=linux go build $(LDFLAGS) -o $(PROG)-linux-$(ARCH)
|
||||
|
||||
alpine:
|
||||
GO111MODULE=on CGO_ENABLED=0 GOOS=linux go build \
|
||||
CGO_ENABLED=0 GOOS=linux go build \
|
||||
-a -installsuffix cgo \
|
||||
$(LDFLAGS) -o $(PROG)-linux-$(ARCH)
|
||||
|
||||
static:
|
||||
GO111MODULE=on CGO_ENABLED=0 GOOS=linux GOARCH=$(ARCH) \
|
||||
CGO_ENABLED=0 GOOS=linux GOARCH=$(ARCH) \
|
||||
go build $(CFLAGS) \
|
||||
-a $(LDFLAGS_STATIC) \
|
||||
-o $(PROG)-linux-$(ARCH)
|
||||
|
||||
|
||||
test:
|
||||
GO111MODULE=on go test -v
|
||||
go test -v
|
||||
cd ../../pkg/api/ && GO111MODULE=on go test -v
|
||||
cd ../../pkg/caches/ && GO111MODULE=on go test -v
|
||||
cd ../../pkg/sources/birdwatcher && GO111MODULE=on go test -v
|
||||
|
Loading…
x
Reference in New Issue
Block a user