From d5269a86bebf7f908fbc410d532f655642e4a282 Mon Sep 17 00:00:00 2001 From: Yuki Kirii Date: Sun, 18 Oct 2020 15:49:16 +0900 Subject: [PATCH 1/4] Dockernize build tools --- Dockerfile | 16 ++++++++++++++++ docker-compose.yaml | 16 ++++++++++++++++ entrypoint.sh | 5 +++++ 3 files changed, 37 insertions(+) create mode 100644 Dockerfile create mode 100644 docker-compose.yaml create mode 100755 entrypoint.sh diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000000..d00ca4c6ff --- /dev/null +++ b/Dockerfile @@ -0,0 +1,16 @@ +FROM node:14.14-stretch + +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 "$@" From 23fc7acb7126e05f500830ca1b03444a86c18aaa Mon Sep 17 00:00:00 2001 From: Yuki Kirii Date: Sun, 18 Oct 2020 16:11:14 +0900 Subject: [PATCH 2/4] Modify base image --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index d00ca4c6ff..a9ce989de3 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM node:14.14-stretch +FROM node:14.14-slim RUN apt update \ && apt install -y git ssh tar gzip ca-certificates From db3cb9f1efc147c47019bc2ce77509e92b74d838 Mon Sep 17 00:00:00 2001 From: Yuki Kirii Date: Sun, 18 Oct 2020 16:22:52 +0900 Subject: [PATCH 3/4] Add workflow --- .github/workflows/release-build-tools.yml | 31 +++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 .github/workflows/release-build-tools.yml diff --git a/.github/workflows/release-build-tools.yml b/.github/workflows/release-build-tools.yml new file mode 100644 index 0000000000..2ef0f5c9ed --- /dev/null +++ b/.github/workflows/release-build-tools.yml @@ -0,0 +1,31 @@ +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}: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}:latest" + From 51da3b785f7bec8a6ad7b96efa02b709309ff1a7 Mon Sep 17 00:00:00 2001 From: Yuki Kirii Date: Sun, 18 Oct 2020 18:20:49 +0900 Subject: [PATCH 4/4] Add release tag name --- .github/workflows/release-build-tools.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/release-build-tools.yml b/.github/workflows/release-build-tools.yml index 2ef0f5c9ed..bdd866db98 100644 --- a/.github/workflows/release-build-tools.yml +++ b/.github/workflows/release-build-tools.yml @@ -18,6 +18,7 @@ jobs: 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 @@ -27,5 +28,6 @@ jobs: 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"