diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..96fec09 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,32 @@ +stages: # List of stages for jobs, and their order of execution + - build + - test + - deploy + +docker-build: + # Use the official docker image. + image: docker:latest + stage: build + services: + - docker:dind + before_script: + - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY + # Default branch leaves tag empty (= latest tag) + # All other branches are tagged with the escaped branch name (commit ref slug) + script: + - | + if [[ "$CI_COMMIT_BRANCH" == "$CI_DEFAULT_BRANCH" ]]; then + tag="" + echo "Running on default branch '$CI_DEFAULT_BRANCH': tag = 'latest'" + else + tag=":$CI_COMMIT_REF_SLUG" + echo "Running on branch '$CI_COMMIT_BRANCH': tag = $tag" + fi + - docker build --pull -t "$CI_REGISTRY_IMAGE${tag}" . + - docker push "$CI_REGISTRY_IMAGE${tag}" + # Run this job in a branch where a Dockerfile exists + rules: + - if: $CI_COMMIT_BRANCH + exists: + - Dockerfile + - if: $CI_COMMIT_BRANCH == "master" || $CI_COMMIT_BRANCH == "dev" \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index e67c0f6..0fe06c5 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,10 +1,14 @@ FROM python:slim WORKDIR ./ +ARG PUID=1000 +ENV USER docker +ENV HOMEDIR "/home/${USER}" -COPY requirements.txt ./ +RUN useradd -u "${PUID}" -m "${USER}" +USER ${USER} +WORKDIR ${HOMEDIR} +COPY . . RUN pip install --no-cache-dir -r requirements.txt -COPY . . - CMD [ "python", "./bot.py" ] \ No newline at end of file diff --git a/README.md b/README.md index 99d1079..baebe92 100644 --- a/README.md +++ b/README.md @@ -1,17 +1,43 @@ # SECOND BOT +[![pipeline status](https://git.cxservers.com/aaron-riedel/shbot/badges/master/pipeline.svg)](https://git.cxservers.com/aaron-riedel/shbot/-/commits/master) der Bot für den SecondHemd Discord -# Build +# Latest +## Build ``` -docker build https://git.ar21.de/aaron/shbot.git -t aaronriedel/shbot:latest +docker build -t docker-registry.cxservers.com/aaron-riedel/shbot:latest . ``` - -# Docker compose +## Run +``` +sudo docker run -e 'TOKEN=' -e 'PREFIX=$' -t docker-registry.cxservers.com/aaron-riedel/shbot:latest +``` +## Docker compose ``` services: bot: - image: aaronriedel/shbot:latest + image: docker-registry.cxservers.com/aaron-riedel/shbot:latest + container_name: shbot + restart: unless-stopped + environment: + - TOKEN=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + - PREFIX=X +``` + +# Development +## Build +``` +docker build -t docker-registry.cxservers.com/aaron-riedel/shbot:dev . +``` +## Run +``` +sudo docker run -e 'TOKEN=' -e 'PREFIX=$' -t docker-registry.cxservers.com/aaron-riedel/shbot:dev +``` +## Docker compose +``` +services: + bot: + image: docker-registry.cxservers.com/aaron-riedel/shbot:dev container_name: shbot restart: unless-stopped environment: