diff --git a/.github/workflows/varnish_exporter.yml b/.github/workflows/varnish_exporter.yml new file mode 100644 index 0000000..9b3bc4f --- /dev/null +++ b/.github/workflows/varnish_exporter.yml @@ -0,0 +1,50 @@ +name: ci + +on: + push: + paths: + - "varnish_exporter/**" + - ".github/workflows/varnish_exporter.yml" + +jobs: + docker: + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Login to GitHub Container Registry + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.repository_owner }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Log into registry Aliyun Container Registry + uses: docker/login-action@v3 + with: + registry: registry.cn-shanghai.aliyuncs.com + username: ${{ secrets.ALI_CR_USERNAME }} + password: ${{ secrets.ALI_CR_PASSWORD }} + + - name: Extract Docker Metadata + id: meta + uses: docker/metadata-action@v5 + with: + images: | + registry.cn-shanghai.aliyuncs.com/mooncell_mirror/varnish_exporter + ghcr.io/mooncellwiki/varnish_exporter + tags: | + type=raw,varnish_exporter:1.7.0 + type=sha + + - name: Build and push Docker image + uses: docker/build-push-action@v5 + with: + context: ./varnish_exporter + push: true + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} diff --git a/varnish_exporter/Dockerfile b/varnish_exporter/Dockerfile new file mode 100644 index 0000000..e511d60 --- /dev/null +++ b/varnish_exporter/Dockerfile @@ -0,0 +1,12 @@ +FROM debian:12-slim as exporter +RUN apt-get update \ + && apt-get install -y curl \ + && curl -O -L https://github.com/MooncellWiki/varnish_exporter/releases/download/1.7.0/varnish_exporter_Linux_x86_64.tar.gz \ + && mkdir /exporter \ + && tar -C /exporter -xzvf varnish_exporter_Linux_x86_64.tar.gz + +FROM varnish:7.5.0 +COPY --from=exporter /exporter/varnish_exporter /exporter/varnish_exporter +WORKDIR /exporter + +ENTRYPOINT [ "varnish_exporter" ] \ No newline at end of file