Merge pull request #45 from colachg/dev

Update Dockerfile and add docker build action
This commit is contained in:
Page Fault
2020-05-08 02:56:41 +00:00
committed by GitHub
6 changed files with 64 additions and 48 deletions
+49
View File
@@ -0,0 +1,49 @@
on:
push:
branches:
- master
pull_request:
branches:
- master
name: docker-build
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout the code
uses: actions/checkout@v1
- name: Dockerhub login
env:
DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
run: |
echo "${DOCKER_PASSWORD}" | docker login --username ${DOCKER_USERNAME} --password-stdin
- name: Prepare
id: prepare
run: |
if [[ $GITHUB_REF == refs/tags/* ]]; then
echo ::set-output name=version::${GITHUB_REF#refs/tags/v}
else
echo ::set-output name=version::snapshot
fi
# echo ::set-output name=build_date::v$(date -u +'%Y%m%d')
echo ::set-output name=docker_platforms::linux/arm/v7,linux/amd64
echo ::set-output name=docker_image::${{ secrets.DOCKER_USERNAME }}/trojan-go
- name: Set up Docker Buildx
id: buildx
uses: crazy-max/ghaction-docker-buildx@v1
with:
version: latest
- name: Build and push docker image
env:
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
run: |
docker buildx build --platform ${{ steps.prepare.outputs.docker_platforms }} \
--output "type=image,push=true" \
--tag "${{ steps.prepare.outputs.docker_image }}:${{ steps.prepare.outputs.version }}" \
--tag "${{ steps.prepare.outputs.docker_image }}:latest" \
--file Dockerfile .
+15
View File
@@ -0,0 +1,15 @@
FROM golang:alpine AS builder
WORKDIR /
RUN apk add --update git &&\
git clone --depth=1 https://github.com/p4gefau1t/trojan-go.git &&\
cd trojan-go && mkdir release && go build -tags "full" -ldflags "-s -w" -o release &&\
wget https://github.com/v2ray/domain-list-community/raw/release/dlc.dat -O release/geosite.dat &&\
wget https://github.com/v2ray/geoip/raw/release/geoip.dat -O release/geoip.dat
FROM alpine
WORKDIR /
COPY --from=builder /trojan-go/release /usr/local/bin/
COPY example/server.json /etc/
ENTRYPOINT ["/usr/local/bin/trojan-go", "-config"]
CMD ["/etc/server.json"]
-15
View File
@@ -1,15 +0,0 @@
FROM golang:latest AS builder
WORKDIR /
RUN git clone --depth=1 https://github.com/p4gefau1t/trojan-go.git
WORKDIR /trojan-go
RUN mkdir release && go build -tags "full" -ldflags "-s -w" -o release
RUN wget https://github.com/v2ray/domain-list-community/raw/release/dlc.dat -O release/geosite.dat \
&& wget https://github.com/v2ray/geoip/raw/release/geoip.dat -O release/geoip.dat
FROM debian:buster-slim
WORKDIR /
COPY --from=builder /trojan-go/release /trojan-go/
ENTRYPOINT ["/trojan-go/trojan-go", "-config"]
CMD ["/config/config.json"]
-11
View File
@@ -1,11 +0,0 @@
FROM golang:latest AS builder
WORKDIR /
RUN git clone --depth=1 https://github.com/p4gefau1t/trojan-go.git
WORKDIR /trojan-go
RUN go build -tags "server auth_mysql" -ldflags "-s -w" -o /trojan
FROM debian:buster-slim
WORKDIR /root/
COPY --from=builder /trojan .
CMD ["./trojan"]
-11
View File
@@ -1,11 +0,0 @@
FROM golang:latest AS builder
WORKDIR /
RUN git clone --depth=1 https://github.com/p4gefau1t/trojan-go.git
WORKDIR /trojan-go
RUN go build -tags "server auth_redis" -ldflags "-s -w" -o /trojan
FROM debian:buster-slim
WORKDIR /root/
COPY --from=builder /trojan .
CMD ["./trojan"]
-11
View File
@@ -1,11 +0,0 @@
FROM golang:latest AS builder
WORKDIR /
RUN git clone --depth=1 https://github.com/p4gefau1t/trojan-go.git
WORKDIR /trojan-go
RUN go build -tags "server auth_config" -ldflags "-s -w" -o /trojan
FROM debian:buster-slim
WORKDIR /root/
COPY --from=builder /trojan .
CMD ["./trojan"]