diff --git a/.docker/init.sh b/.docker/init.sh index 0998a0e..38bbf85 100644 --- a/.docker/init.sh +++ b/.docker/init.sh @@ -1,3 +1,4 @@ +#!/bin/bash echo "" > /var/log/msmtp diff --git a/.gitea/workflows/website.yml b/.gitea/workflows/website.yml new file mode 100644 index 0000000..8129459 --- /dev/null +++ b/.gitea/workflows/website.yml @@ -0,0 +1,45 @@ + +# https://docs.gitea.com/next/usage/actions/quickstart +# https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions +# https://docs.github.com/en/actions/learn-github-actions/contexts#github-context + +name: Build Docker and Deploy +run-name: Build & Deploy ${{ gitea.ref }} on ${{ gitea.actor }} + +on: + push: + branches: ['master'] + + + +jobs: + build: + name: Build Docker + runs-on: bfb-cicd-latest + steps: + - run: echo -n "${{ secrets.DOCKER_REG_PASS }}" | docker login registry.blackforestbytes.com -u docker --password-stdin + - run: echo -n "${{ secrets.DOCKER_IO_PASS }}" | docker login -u "${{DOCKER_IO_USER}}" --password-stdin + - name: Check out code + uses: actions/checkout@v3 + - run: cd "${{ gitea.workspace }}" && make clean + - run: cd "${{ gitea.workspace }}" && make docker + - run: cd "${{ gitea.workspace }}" && make push-docker + + deploy: + name: Deploy to Server + needs: [build] + runs-on: ubuntu-latest + steps: + - name: Info + run: echo "Branch := ${{ gitea.ref_name }}" + - name: Deploy [develop] on remote (via ssh) + uses: appleboy/ssh-action@v1.0.0 + with: + host: test.blackforestbytes.com + username: tc + port: 1337 + key: "${{ secrets.SSH_KEY_BFBDEPLOYBOT }}" + script: sudo /var/docker/__run/website.sh + + + diff --git a/Dockerfile b/Dockerfile index dfca6ac..e5e74e3 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,18 +3,15 @@ WORKDIR /var/www/html COPY ./www /var/www/html -RUN apt-get update && \ +RUN apt-get update && \ apt-get install -y git curl procps zip msmtp bsd-mailx && \ - apt-get install -y magick && \ + apt-get install -y imagemagick && \ rm -rf /var/lib/apt/lists/* COPY .docker /_docker -RUN rm /var/www/html/Makefile && \ - rm /var/www/html/Dockerfile && \ - rm -rf /var/www/html/.git && \ - rm -rf /var/www/html/.idea && \ - rm -rf /var/www/html/.docker +RUN chmod +Xx /_docker/run.sh && \ + chmod +Xx /_docker/init.sh # MapVolumes for: /var/www/html/config.php # MapVolumes for: /var/www/html/dynamic/egg diff --git a/Makefile b/Makefile index 562aaaf..dc46583 100644 --- a/Makefile +++ b/Makefile @@ -9,12 +9,12 @@ HASH=$(shell git rev-parse HEAD) run: php -S localhost:8000 -t . -build-docker: - [ ! -f "DOCKER_GIT_INFO" ] || rm DOCKER_GIT_INFO - git rev-parse --abbrev-ref HEAD >> DOCKER_GIT_INFO - git rev-parse HEAD >> DOCKER_GIT_INFO - git log -1 --format=%cd --date=iso >> DOCKER_GIT_INFO - git config --get remote.origin.url >> DOCKER_GIT_INFO +docker: + echo -n "VCSTYPE=" >> DOCKER_GIT_INFO ; echo "git" >> DOCKER_GIT_INFO + echo -n "BRANCH=" >> DOCKER_GIT_INFO ; git rev-parse --abbrev-ref HEAD >> DOCKER_GIT_INFO + echo -n "HASH=" >> DOCKER_GIT_INFO ; git rev-parse HEAD >> DOCKER_GIT_INFO + echo -n "COMMITTIME=" >> DOCKER_GIT_INFO ; git log -1 --format=%cd --date=iso >> DOCKER_GIT_INFO + echo -n "REMOTE=" >> DOCKER_GIT_INFO ; git config --get remote.github.url >> DOCKER_GIT_INFO docker build \ -t $(DOCKER_NAME):$(HASH) \ -t $(DOCKER_NAME):$(NAMESPACE)-latest \ @@ -53,7 +53,7 @@ inspect-docker: $(DOCKER_NAME):latest \ bash -push-docker: build-docker +push-docker: docker image push $(DOCKER_REPO)/$(DOCKER_NAME):$(HASH) docker image push $(DOCKER_REPO)/$(DOCKER_NAME):$(NAMESPACE)-latest docker image push $(DOCKER_REPO)/$(DOCKER_NAME):latest