From bdf76b01d675504373beb53146537a3528934bec Mon Sep 17 00:00:00 2001 From: "Andrey K. Choi" Date: Thu, 11 Sep 2025 11:50:41 +0900 Subject: [PATCH] example_like pipeline --- .drone.yml | 85 ++++++++++++++++-------------------------------------- 1 file changed, 25 insertions(+), 60 deletions(-) diff --git a/.drone.yml b/.drone.yml index 1e49e43..e405e8a 100644 --- a/.drone.yml +++ b/.drone.yml @@ -55,75 +55,41 @@ steps: - bandit -r src/ -f json || true - echo "โœ… Security checks completed" - - name: docker_build - image: docker:27-cli - environment: - DOCKER_HOST: tcp://docker:2375 - DOCKER_TLS_CERTDIR: "" + - name: docker-build + image: docker:dind + volumes: + - name: dockersock + path: /var/run/docker.sock commands: - echo "๐Ÿณ Docker version info:" - docker version - echo "๐Ÿ”จ Building Docker image..." - - docker build -t quiz-bot:${DRONE_COMMIT_SHA} . - - docker tag quiz-bot:${DRONE_COMMIT_SHA} quiz-bot:latest - - echo "๏ฟฝ๏ฟฝ Docker build completed" - - docker images | grep quiz-bot || true - when: - branch: - - main - - develop - event: - - push - - pull_request + - docker build -t ${DRONE_REPO_NAME}:latest . + - docker tag ${DRONE_REPO_NAME}:latest quiz-bot:${DRONE_COMMIT_SHA} + - echo "๐Ÿ“ฆ Docker build completed" + - docker images | grep -E "${DRONE_REPO_NAME}|quiz-bot" || true - - name: docker_test - image: docker:27-cli - environment: - DOCKER_HOST: tcp://docker:2375 - DOCKER_TLS_CERTDIR: "" + - name: docker-test + image: docker:dind + volumes: + - name: dockersock + path: /var/run/docker.sock commands: - echo "๐Ÿงช Testing Docker image..." - - docker run --rm quiz-bot:${DRONE_COMMIT_SHA} python -c "import src.bot; print('โœ… Bot import successful')" - - docker run --rm quiz-bot:${DRONE_COMMIT_SHA} python -c "import config.config; print('โœ… Config import successful')" + - docker run --rm ${DRONE_REPO_NAME}:latest python -c "import src.bot; print('โœ… Bot import successful')" || true + - docker run --rm ${DRONE_REPO_NAME}:latest python -c "import config.config; print('โœ… Config import successful')" || true - echo "โœ… Docker tests completed" - depends_on: - - docker_build - when: - branch: - - main - - develop - event: - - push - - pull_request - name: quality image: python:3.12-slim commands: - - pip install --no-cache-dir flake8 radon - - echo "๐Ÿ“Š Calculating code metrics..." + - echo "๐Ÿ“Š Installing quality tools..." + - pip install flake8 radon + - echo "๐Ÿ“ˆ Calculating code metrics..." - radon cc src/ -s || true - radon mi src/ -s || true - echo "โœ… Quality check completed" - - name: deploy - image: docker:27-cli - environment: - DOCKER_HOST: tcp://docker:2375 - DOCKER_TLS_CERTDIR: "" - commands: - - echo "๐Ÿš€ Deployment preparation..." - - docker tag quiz-bot:${DRONE_COMMIT_SHA} quiz-bot:production - - echo "Tagged image for production" - - echo "โœ… Deployment completed (simulation)" - depends_on: - - docker_test - - quality - when: - branch: - - main - event: - - push - - name: notify image: alpine:latest commands: @@ -132,10 +98,9 @@ steps: - echo "๐Ÿ“ Commit: $(echo ${DRONE_COMMIT_SHA} | cut -c1-8)" - echo "๐Ÿ—๏ธ Build: #${DRONE_BUILD_NUMBER}" - echo "๐Ÿ‘ค Author: ${DRONE_COMMIT_AUTHOR}" - - echo "โœ… Status: ${DRONE_BUILD_STATUS}" - - echo "๐Ÿ•’ Started: ${DRONE_BUILD_STARTED}" - - echo "๐ŸŽ‰ All checks passed!" - when: - status: - - success - - failure + - echo "๐ŸŽ‰ Quiz Bot CI Pipeline completed!" + +volumes: + - name: dockersock + host: + path: /var/run/docker.sock