mirror of
https://github.com/dstotijn/hetty
synced 2024-11-25 13:10:19 +00:00
Tidy up manual build process
This commit is contained in:
parent
81fbfe4cb3
commit
f6789fa245
5 changed files with 25 additions and 29 deletions
|
@ -1,4 +1,3 @@
|
|||
**/rice-box.go
|
||||
/admin/.env
|
||||
/admin/.next
|
||||
/admin/dist
|
||||
|
|
|
@ -2,11 +2,6 @@ env:
|
|||
- GO111MODULE=on
|
||||
- CGO_ENABLED=1
|
||||
|
||||
before:
|
||||
hooks:
|
||||
- make clean
|
||||
- make embed
|
||||
|
||||
builds:
|
||||
- id: hetty-darwin-amd64
|
||||
main: ./cmd/hetty
|
||||
|
|
|
@ -9,6 +9,7 @@ COPY go.mod go.sum ./
|
|||
RUN go mod download
|
||||
COPY cmd ./cmd
|
||||
COPY pkg ./pkg
|
||||
RUN rm -f cmd/hetty/rice-box.go
|
||||
RUN go build ./cmd/hetty
|
||||
|
||||
FROM node:${NODE_VERSION}-alpine AS node-builder
|
||||
|
|
31
Makefile
31
Makefile
|
@ -1,35 +1,26 @@
|
|||
PACKAGE_NAME := github.com/dstotijn/hetty
|
||||
GOLANG_CROSS_VERSION ?= v1.15.2
|
||||
|
||||
setup:
|
||||
go mod download
|
||||
go generate ./...
|
||||
.PHONY: setup
|
||||
|
||||
embed:
|
||||
go install github.com/GeertJohan/go.rice/rice
|
||||
cd cmd/hetty && rice embed-go
|
||||
.PHONY: embed
|
||||
embed:
|
||||
NEXT_TELEMETRY_DISABLED=1 cd admin && yarn install && yarn run export
|
||||
cd cmd/hetty && rice embed-go
|
||||
|
||||
build: embed
|
||||
env CGO_ENABLED=1 go build ./cmd/hetty
|
||||
.PHONY: build
|
||||
build: embed
|
||||
CGO_ENABLED=1 go build ./cmd/hetty
|
||||
|
||||
clean:
|
||||
rm -rf cmd/hetty/rice-box.go
|
||||
.PHONY: clean
|
||||
|
||||
release-dry-run:
|
||||
.PHONY: release-dry-run
|
||||
release-dry-run: embed
|
||||
@docker run \
|
||||
--rm \
|
||||
-v `pwd`:/go/src/$(PACKAGE_NAME) \
|
||||
-v `pwd`/admin/dist:/go/src/$(PACKAGE_NAME)/admin/dist \
|
||||
-w /go/src/$(PACKAGE_NAME) \
|
||||
troian/golang-cross:${GOLANG_CROSS_VERSION} \
|
||||
--rm-dist --skip-validate --skip-publish
|
||||
.PHONY: release-dry-run
|
||||
|
||||
release:
|
||||
.PHONY: release
|
||||
release: embed
|
||||
@if [ ! -f ".release-env" ]; then \
|
||||
echo "\033[91mFile \`.release-env\` is missing.\033[0m";\
|
||||
exit 1;\
|
||||
|
@ -37,9 +28,7 @@ release:
|
|||
@docker run \
|
||||
--rm \
|
||||
-v `pwd`:/go/src/$(PACKAGE_NAME) \
|
||||
-v `pwd`/admin/dist:/go/src/$(PACKAGE_NAME)/admin/dist \
|
||||
-w /go/src/$(PACKAGE_NAME) \
|
||||
--env-file .release-env \
|
||||
troian/golang-cross:${GOLANG_CROSS_VERSION} \
|
||||
release --rm-dist
|
||||
.PHONY: release
|
||||
release --rm-dist
|
16
README.md
16
README.md
|
@ -37,11 +37,23 @@ and web based admin interface.
|
|||
|
||||
### Build from source
|
||||
|
||||
#### Prerequisites
|
||||
|
||||
- [Go](https://golang.org/)
|
||||
- [Yarn](https://yarnpkg.com/)
|
||||
- [go.rice](https://github.com/GeertJohan/go.rice)
|
||||
|
||||
Hetty depends on SQLite (via [mattn/go-sqlite3](https://github.com/mattn/go-sqlite3))
|
||||
and needs `cgo` to compile.
|
||||
and needs `cgo` to compile. Additionally, the static resources for the admin interface
|
||||
(Next.js) need to be generated via [Yarn](https://yarnpkg.com/) and embedded in
|
||||
a `.go` file with [go.rice](https://github.com/GeertJohan/go.rice) beforehand.
|
||||
|
||||
Clone the repository and use the `build` make target to create a binary:
|
||||
|
||||
```
|
||||
$ GO111MODULE=auto CGO_ENABLED=1 go get -u github.com/dstotijn/hetty/cmd/hetty
|
||||
$ git clone git@github.com:dstotijn/hetty.git
|
||||
$ cd hetty
|
||||
$ make build
|
||||
```
|
||||
|
||||
### Docker
|
||||
|
|
Loading…
Reference in a new issue