Skip to content

Commit

Permalink
build
Browse files Browse the repository at this point in the history
  • Loading branch information
kaz committed Nov 14, 2023
1 parent 5511b08 commit ff6ea1c
Show file tree
Hide file tree
Showing 4 changed files with 35 additions and 32 deletions.
2 changes: 2 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
Dockerfile
mock.Dockerfile

compose.yaml

pprotein
data

Expand Down
26 changes: 13 additions & 13 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,37 +1,37 @@
# --------------------------------------------------

FROM alpine AS pprotein
FROM golang:alpine AS pprotein

RUN apk add go npm make
RUN apk add npm make

ENV GOPATH /go
ENV PATH $GOPATH/bin:$PATH

WORKDIR /go/src/app
WORKDIR $GOPATH/src/app
COPY . .

RUN make build

# --------------------------------------------------

FROM alpine AS tools
FROM golang:alpine AS alp

RUN go install github.com/tkuchiki/alp/cmd/alp@latest

# --------------------------------------------------

RUN apk add go
FROM golang:alpine AS slp

ENV GOPATH /go
RUN go install github.com/tkuchiki/alp/cli/alp@latest
RUN apk add gcc musl-dev
RUN go install github.com/tkuchiki/slp/cmd/slp@latest

# --------------------------------------------------

FROM alpine

RUN apk add --no-cache bash perl perl-dbd-mysql perl-time-hires graphviz
RUN apk add --no-cache graphviz

COPY --from=pprotein /go/src/app/pprotein /usr/local/bin/
COPY --from=pprotein /go/src/app/pprotein-agent /usr/local/bin/
COPY --from=tools /go/bin/alp /usr/local/bin/
COPY --from=tools /go/bin/slp /usr/local/bin/
COPY --from=alp /go/bin/alp /usr/local/bin/
COPY --from=slp /go/bin/slp /usr/local/bin/

RUN mkdir -p /opt/pprotein
WORKDIR /opt/pprotein
Expand Down
13 changes: 13 additions & 0 deletions compose.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
services:
mock:
build:
context: .
dockerfile: mock.Dockerfile
pprotein:
build:
context: .
dockerfile: Dockerfile
depends_on:
- mock
ports:
- 9000:9000
26 changes: 7 additions & 19 deletions mock.Dockerfile
Original file line number Diff line number Diff line change
@@ -1,36 +1,24 @@
# --------------------------------------------------

FROM alpine AS agent
FROM golang:alpine AS agent

RUN apk add go

ENV GOPATH /go
ENV PATH $GOPATH/bin:$PATH

WORKDIR /go/src/app
WORKDIR $GOPATH/src/app
COPY . .

RUN go build ./cli/pprotein-agent

# --------------------------------------------------

FROM alpine AS mock

RUN apk add go
FROM golang:alpine AS mock

ENV GOPATH /go
ENV PATH $GOPATH/bin:$PATH

WORKDIR /go/src/app
WORKDIR $GOPATH/src/app
COPY . .

RUN go build ./cli/pprotein-mock

# --------------------------------------------------

FROM alpine AS repo

RUN apk add git
FROM alpine/git AS repo

WORKDIR /opt
RUN git clone https://github.com/kaz/pprotein.git
Expand All @@ -45,14 +33,14 @@ RUN mkdir /var/log/mysql

COPY --from=agent /go/src/app/pprotein-agent /usr/local/bin/
COPY --from=mock /go/src/app/pprotein-mock /usr/local/bin/
COPY --from=repo /opt/pprotein/ /opt/pprotein/
COPY --from=repo /opt/pprotein /opt/pprotein

COPY mock/supervisord.ini /etc/supervisor.d/
COPY mock/mysqld.cnf /etc/my.cnf.d/
COPY mock/nginx.conf /etc/nginx/

ENV DSN "root@unix(/var/run/mysqld/mysqld.sock)/"
ENV REQUEST_HOST "127.0.0.1:80"
ENV GIT_REPO_DIR "/opt/pprotein"
ENV PPROTEIN_GIT_REPOSITORY "/opt/pprotein"

ENTRYPOINT ["supervisord"]

0 comments on commit ff6ea1c

Please sign in to comment.