mirror of
https://github.com/p4gefau1t/trojan-go.git
synced 2024-04-21 12:21:34 +00:00
Merge pull request #45 from colachg/dev
Update Dockerfile and add docker build action
This commit is contained in:
@@ -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
@@ -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"]
|
||||
@@ -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"]
|
||||
@@ -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"]
|
||||
@@ -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"]
|
||||
@@ -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"]
|
||||
Reference in New Issue
Block a user