Skip to content

Commit

Permalink
debug: test build
Browse files Browse the repository at this point in the history
  • Loading branch information
1lkei committed Dec 29, 2024
1 parent 4fa42f1 commit 282a03f
Show file tree
Hide file tree
Showing 3 changed files with 74 additions and 19 deletions.
65 changes: 65 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
name: Docker images build and push test

on:
push:
branches: [ "main" ]

jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4.2.2
with:
persist-credentials: false
fetch-depth: 0

- name: Get latest release version
run: |
latest_version=$(curl -s https://api.github.com/repos/MCSManager/MCSManager/releases/latest | jq -r .tag_name)
echo "latest_version=$latest_version" >> $GITHUB_ENV
- name: Check local version
run: |
if [ -f ./MCSManager_version ]; then
local_version=$(cat ./MCSManager_version)
else
local_version="none"
fi
echo "local_version=$local_version" >> $GITHUB_ENV
- name: Set up QEMU
uses: docker/setup-qemu-action@v3.2.0

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3.7.1

- name: Login to DockerHub
uses: docker/login-action@v3.3.0
with:
username: 1lkei
password: ${{ secrets.DOCKERHUB_TOKEN }}

- name: Docker build-push aio
uses: docker/build-push-action@v6.9.0
with:
context: .
file: Dockerfile.aio
push: true # push to docker hub
tags: |
1lkei/mcsmanager:latest
1lkei/mcsmanager:${{ env.latest_version }}
build-args: |
LATEST_TAG=${{ env.latest_version }}
platforms: linux/amd64,linux/arm64

- name: Commit updated version
if: env.local_version != env.latest_version
run: |
echo "$latest_version" > MCSManager_version
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"
git add MCSManager_version
git commit -m "Update version to $latest_version"
git remote set-url origin https://1lkei:${{ secrets.REPO_BOT }}@github.com/1lkei/mcsmanager-docker.git
git push
25 changes: 8 additions & 17 deletions Dockerfile.aio
Original file line number Diff line number Diff line change
@@ -1,27 +1,18 @@
FROM node:lts-alpine AS builder

ARG LATEST_TAG

RUN apk update && \
apk add --no-cache --virtual .build-deps curl && \
cd /opt && \
curl -L -o mcsmanager_linux_release.tar.gz https://github.com/MCSManager/MCSManager/releases/download/$LATEST_TAG/mcsmanager_linux_release.tar.gz && \
tar -zxf mcsmanager_linux_release.tar.gz && \
rm -rf mcsmanager_linux_release.tar.gz && \
apk del .build-deps && \
rm -rf /var/cache/apk/*


FROM node:lts-alpine

COPY --from=builder /opt/mcsmanager /opt/mcsmanager
ARG LATEST_TAG
COPY entrypoint.sh /entrypoint.sh

RUN rm -rf /opt/mcsmanager/*.sh && \
RUN cd /tmp && \
wget -O /tmp/mcsmanager.tar.gz https://github.com/MCSManager/MCSManager/releases/download/$LATEST_TAG/mcsmanager_linux_release.tar.gz && \
tar -xf mcsmanager.tar.gz && \
rm -rf /tmp/mcsmanager/*.sh && \
mv /tmp/mcsmanager /opt && \
cd /opt/mcsmanager/daemon && \
npm install --omit=dev && \
cd /opt/mcsmanager/web && \
npm install --omit=dev && \
chmod +x /entrypoint.sh
chmod +x /entrypoint.sh && \
rm -rf /tmp/*

ENTRYPOINT [ "/entrypoint.sh" ]
3 changes: 1 addition & 2 deletions entrypoint.sh
Original file line number Diff line number Diff line change
@@ -1,18 +1,17 @@
#!/bin/sh

stop_services() {
echo "Stopping services..."
kill -TERM $pid1 $pid2 2>/dev/null
wait $pid1 $pid2
exit 0
}

trap stop_services SIGTERM SIGINT

echo "start mcsmanager daemon"
cd /opt/mcsmanager/daemon/ && node --max-old-space-size=8192 --enable-source-maps app.js &
pid1=$!

echo "start mcsmanager web"
cd /opt/mcsmanager/web/ && node --max-old-space-size=8192 --enable-source-maps app.js &
pid2=$!

Expand Down

0 comments on commit 282a03f

Please sign in to comment.