fix(docker): simplify build by copying ca-certificates.crt
This commit is contained in:
parent
90e6bd278e
commit
f289543dc6
@ -2,9 +2,6 @@ language: go
|
|||||||
go:
|
go:
|
||||||
- 1.10.x
|
- 1.10.x
|
||||||
- 1.11.x
|
- 1.11.x
|
||||||
before_install:
|
|
||||||
- sudo apt-get install -y qemu-user-static
|
|
||||||
- sudo docker run --rm --privileged multiarch/qemu-user-static:register
|
|
||||||
install:
|
install:
|
||||||
# Fetch dependencies
|
# Fetch dependencies
|
||||||
- wget -O dep https://github.com/golang/dep/releases/download/v0.5.0/dep-linux-amd64
|
- wget -O dep https://github.com/golang/dep/releases/download/v0.5.0/dep-linux-amd64
|
||||||
|
52
BUILDING.md
52
BUILDING.md
@ -1,52 +0,0 @@
|
|||||||
# Building
|
|
||||||
|
|
||||||
This project is setup to build on amd64.
|
|
||||||
|
|
||||||
It is also possible to cross build binaries and docker images for armv6 and arm64.
|
|
||||||
|
|
||||||
## Clone repo and configure
|
|
||||||
|
|
||||||
```bash
|
|
||||||
cd $GOPATH/src/github.com # Create this directory if it doesn't exist
|
|
||||||
git clone git@github.com:<YOUR_FORK>/oauth2_proxy pusher/oauth2_proxy
|
|
||||||
cd pusher/oauth2_proxy
|
|
||||||
./configure # Setup your environment variables
|
|
||||||
make dep
|
|
||||||
```
|
|
||||||
|
|
||||||
## Building amd64
|
|
||||||
|
|
||||||
Build binary:
|
|
||||||
```bash
|
|
||||||
make
|
|
||||||
```
|
|
||||||
|
|
||||||
Build docker image:
|
|
||||||
```bash
|
|
||||||
make docker
|
|
||||||
```
|
|
||||||
|
|
||||||
## Building for other architectures
|
|
||||||
|
|
||||||
This requires [multiarch/qemu-user-static](https://github.com/multiarch/qemu-user-static) to be installed in your system.
|
|
||||||
On Ubuntu:
|
|
||||||
```bash
|
|
||||||
sudo apt install qemu-user-static
|
|
||||||
```
|
|
||||||
|
|
||||||
Register `qemu-user-static` on your system:
|
|
||||||
```bash
|
|
||||||
# make qemu-register
|
|
||||||
# or
|
|
||||||
sudo docker run --rm --privileged multiarch/qemu-user-static:register
|
|
||||||
```
|
|
||||||
|
|
||||||
Build all binaries:
|
|
||||||
```bash
|
|
||||||
make release
|
|
||||||
```
|
|
||||||
|
|
||||||
Build all docker images:
|
|
||||||
```bash
|
|
||||||
make docker-all
|
|
||||||
```
|
|
@ -5,7 +5,6 @@ To develop on this project, please fork the repo and clone into your `$GOPATH`.
|
|||||||
Dependencies are **not** checked in so please download those separately.
|
Dependencies are **not** checked in so please download those separately.
|
||||||
Download the dependencies using [`dep`](https://github.com/golang/dep).
|
Download the dependencies using [`dep`](https://github.com/golang/dep).
|
||||||
|
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
cd $GOPATH/src/github.com # Create this directory if it doesn't exist
|
cd $GOPATH/src/github.com # Create this directory if it doesn't exist
|
||||||
git clone git@github.com:<YOUR_FORK>/oauth2_proxy pusher/oauth2_proxy
|
git clone git@github.com:<YOUR_FORK>/oauth2_proxy pusher/oauth2_proxy
|
||||||
|
@ -16,7 +16,7 @@ RUN ./configure && make build
|
|||||||
|
|
||||||
# Copy binary to alpine
|
# Copy binary to alpine
|
||||||
FROM alpine:3.8
|
FROM alpine:3.8
|
||||||
RUN apk add --no-cache ca-certificates
|
COPY --from=builder /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ca-certificates.crt
|
||||||
COPY --from=builder /go/src/github.com/pusher/oauth2_proxy/oauth2_proxy /bin/oauth2_proxy
|
COPY --from=builder /go/src/github.com/pusher/oauth2_proxy/oauth2_proxy /bin/oauth2_proxy
|
||||||
|
|
||||||
ENTRYPOINT ["/bin/oauth2_proxy"]
|
ENTRYPOINT ["/bin/oauth2_proxy"]
|
||||||
|
@ -16,9 +16,7 @@ RUN ./configure && GOARCH=arm64 make build
|
|||||||
|
|
||||||
# Copy binary to alpine
|
# Copy binary to alpine
|
||||||
FROM arm64v8/alpine:3.8
|
FROM arm64v8/alpine:3.8
|
||||||
COPY dist/qemu-aarch64-static /usr/bin/
|
COPY --from=builder /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ca-certificates.crt
|
||||||
RUN apk add --no-cache ca-certificates
|
|
||||||
COPY --from=builder /go/src/github.com/pusher/oauth2_proxy/oauth2_proxy /bin/oauth2_proxy
|
COPY --from=builder /go/src/github.com/pusher/oauth2_proxy/oauth2_proxy /bin/oauth2_proxy
|
||||||
RUN rm /usr/bin/qemu-*-static -f
|
|
||||||
|
|
||||||
ENTRYPOINT ["/bin/oauth2_proxy"]
|
ENTRYPOINT ["/bin/oauth2_proxy"]
|
||||||
|
@ -16,9 +16,7 @@ RUN ./configure && GOARCH=arm GOARM=6 make build
|
|||||||
|
|
||||||
# Copy binary to alpine
|
# Copy binary to alpine
|
||||||
FROM arm32v6/alpine:3.8
|
FROM arm32v6/alpine:3.8
|
||||||
COPY dist/qemu-arm-static /usr/bin/
|
COPY --from=builder /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ca-certificates.crt
|
||||||
RUN apk add --no-cache ca-certificates
|
|
||||||
COPY --from=builder /go/src/github.com/pusher/oauth2_proxy/oauth2_proxy /bin/oauth2_proxy
|
COPY --from=builder /go/src/github.com/pusher/oauth2_proxy/oauth2_proxy /bin/oauth2_proxy
|
||||||
RUN rm /usr/bin/qemu-*-static -f
|
|
||||||
|
|
||||||
ENTRYPOINT ["/bin/oauth2_proxy"]
|
ENTRYPOINT ["/bin/oauth2_proxy"]
|
||||||
|
16
Makefile
16
Makefile
@ -45,26 +45,12 @@ build: clean $(BINARY)
|
|||||||
$(BINARY):
|
$(BINARY):
|
||||||
CGO_ENABLED=0 $(GO) build -a -installsuffix cgo -ldflags="-X main.VERSION=${VERSION}" -o $@ github.com/pusher/oauth2_proxy
|
CGO_ENABLED=0 $(GO) build -a -installsuffix cgo -ldflags="-X main.VERSION=${VERSION}" -o $@ github.com/pusher/oauth2_proxy
|
||||||
|
|
||||||
# Ubuntu 18.04.1 Qemu version
|
|
||||||
QEMU-STATIC-VERSION=v2.11.1
|
|
||||||
|
|
||||||
.PHONY: qemu-static
|
|
||||||
qemu-static:
|
|
||||||
wget -O dist/qemu-amd64-static https://github.com/multiarch/qemu-user-static/releases/download/${QEMU-STATIC-VERSION}/qemu-x86_64-static
|
|
||||||
wget -O dist/qemu-aarch64-static https://github.com/multiarch/qemu-user-static/releases/download/${QEMU-STATIC-VERSION}/qemu-aarch64-static
|
|
||||||
wget -O dist/qemu-arm-static https://github.com/multiarch/qemu-user-static/releases/download/${QEMU-STATIC-VERSION}/qemu-arm-static
|
|
||||||
chmod +x dist/qemu-*-static
|
|
||||||
|
|
||||||
.PHONY: qemu-register
|
|
||||||
qemu-register:
|
|
||||||
docker run --rm --privileged multiarch/qemu-user-static:register
|
|
||||||
|
|
||||||
.PHONY: docker
|
.PHONY: docker
|
||||||
docker:
|
docker:
|
||||||
docker build -f Dockerfile -t pusher/oauth2_proxy:latest .
|
docker build -f Dockerfile -t pusher/oauth2_proxy:latest .
|
||||||
|
|
||||||
.PHONY: docker-all
|
.PHONY: docker-all
|
||||||
docker-all: qemu-static docker
|
docker-all: docker
|
||||||
docker build -f Dockerfile -t pusher/oauth2_proxy:latest-amd64 .
|
docker build -f Dockerfile -t pusher/oauth2_proxy:latest-amd64 .
|
||||||
docker build -f Dockerfile -t pusher/oauth2_proxy:${VERSION} .
|
docker build -f Dockerfile -t pusher/oauth2_proxy:${VERSION} .
|
||||||
docker build -f Dockerfile -t pusher/oauth2_proxy:${VERSION}-amd64 .
|
docker build -f Dockerfile -t pusher/oauth2_proxy:${VERSION}-amd64 .
|
||||||
|
@ -25,8 +25,6 @@ A list of changes can be seen in the [CHANGELOG](CHANGELOG.md).
|
|||||||
|
|
||||||
c. Using the prebuilt docker image [quay.io/pusher/oauth2_proxy](https://quay.io/pusher/oauth2_proxy)
|
c. Using the prebuilt docker image [quay.io/pusher/oauth2_proxy](https://quay.io/pusher/oauth2_proxy)
|
||||||
|
|
||||||
d. Building from scratch following our [Building](BUILDING.md) guide
|
|
||||||
|
|
||||||
Prebuilt binaries can be validated by extracting the file and verifying it against the `sha256sum.txt` checksum file provided for each release starting with version `v3.0.0`.
|
Prebuilt binaries can be validated by extracting the file and verifying it against the `sha256sum.txt` checksum file provided for each release starting with version `v3.0.0`.
|
||||||
|
|
||||||
```
|
```
|
||||||
|
Loading…
Reference in New Issue
Block a user