diff --git a/.github/workflows/release-build-tools.yml b/.github/workflows/release-build-tools.yml new file mode 100644 index 0000000000..bdd866db98 --- /dev/null +++ b/.github/workflows/release-build-tools.yml @@ -0,0 +1,33 @@ +name: release-build-tools + +on: + release: + types: + - published + +env: + DOCKER_BASE_NAME: ghcr.io/${{ github.repository }}-build-tools + +jobs: + build-and-push: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Build docker image + run: | + docker build . \ + -t "${DOCKER_BASE_NAME}:${GITHUB_SHA::8}" \ + -t "${DOCKER_BASE_NAME}:${{ github.event.release.tag_name }}" \ + -t "${DOCKER_BASE_NAME}:latest" + + - run: docker images + + - name: Push docker image + run: | + echo ${{ secrets.CR_PAT }} | docker login ghcr.io -u $GITHUB_ACTOR --password-stdin + + docker push "${DOCKER_BASE_NAME}:${GITHUB_SHA::8}" + docker push "${DOCKER_BASE_NAME}:${{ github.event.release.tag_name }}" + docker push "${DOCKER_BASE_NAME}:latest" + diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000000..a9ce989de3 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,16 @@ +FROM node:14.14-slim + +RUN apt update \ + && apt install -y git ssh tar gzip ca-certificates + +RUN mkdir /blog +WORKDIR /blog + +ADD entrypoint.sh / +ADD package*.json /blog/ +ADD gulpfile.js /blog/ + +RUN npm install + +ENTRYPOINT ["/entrypoint.sh"] +CMD ["npm", "start"] diff --git a/docker-compose.yaml b/docker-compose.yaml new file mode 100644 index 0000000000..02b46d7a1a --- /dev/null +++ b/docker-compose.yaml @@ -0,0 +1,16 @@ +version: '3' +services: + blog: + image: ghcr.io/jpaztech/blog-build-tools:latest + working_dir: /blog + command: ["npm", "start"] + ports: + - "4000:4000" + volumes: + - "./articles:/blog/articles" + - "./scaffolds:/blog/scaffolds" + - "./source:/blog/source" + - "./themes:/blog/themes" + - "./_config.yml:/blog/_config.yml" + - "./github-issue-template.md:/blog/github-issue-template.md" + - "./.textlintrc:/blog/.textlintrc" diff --git a/entrypoint.sh b/entrypoint.sh new file mode 100755 index 0000000000..74144502f6 --- /dev/null +++ b/entrypoint.sh @@ -0,0 +1,5 @@ +#!/bin/sh + +umask 0000 + +exec "$@"