From 40a929009db98516c42a70bb30d2cbb12a12a887 Mon Sep 17 00:00:00 2001 From: Struchkov Mark Date: Thu, 16 Mar 2023 00:01:25 +0300 Subject: [PATCH] setting cicd --- .drone.yml | 301 ++++++++++++++++++++++++++--------------------------- 1 file changed, 150 insertions(+), 151 deletions(-) diff --git a/.drone.yml b/.drone.yml index de4163e..9975a4c 100644 --- a/.drone.yml +++ b/.drone.yml @@ -20,7 +20,7 @@ volumes: host: path: /drone/volume/m2 - name: dockersock - temp: {} + temp: { } steps: - name: create jar @@ -53,157 +53,156 @@ steps: - docker buildx create --use - docker buildx build -f Dockerfile-develop --push --platform linux/amd64,linux/arm64/v8 -t "$DOCKER_IMAGE_NAME:develop" -t "git.struchkov.dev/$STRUCHKOV_DOCKER_IMAGE_NAME:develop" . -#--- -# -#kind: pipeline -#type: docker -#name: release build -# -#trigger: -# ref: -# - refs/tags/v.*.*.* -# -#services: -# - name: docker -# image: docker:20.10.22-dind-alpine3.17 -# privileged: true -# volumes: -# - name: dockersock -# path: /var/run -# -#volumes: -# - name: m2 -# host: -# path: /drone/volume/m2 -# - name: dockersock -# temp: {} -# -#steps: -# - name: create jar -# image: maven:3.8.6-eclipse-temurin-17 -# volumes: -# - name: m2 -# path: /root/.m2/repository -# commands: -# - mvn -U clean package -# -# - name: docker publish release -# image: upagge/docker-buildx:latest -# environment: -# STRUCHKOV_DOCKER_REGISTRY_TOKEN: -# from_secret: STRUCHKOV_DOCKER_REGISTRY_TOKEN -# STRUCHKOV_DOCKER_IMAGE_NAME: -# from_secret: STRUCHKOV_DOCKER_IMAGE_NAME -# DOCKER_REGISTRY_TOKEN: -# from_secret: DOCKER_REGISTRY_TOKEN -# DOCKER_IMAGE_NAME: -# from_secret: DOCKER_IMAGE_NAME -# DOCKER_REGISTRY_USER: -# from_secret: DOCKER_REGISTRY_USER -# volumes: -# - name: dockersock -# path: /var/run -# commands: -# - echo "$STRUCHKOV_DOCKER_REGISTRY_TOKEN" | docker login git.struchkov.dev --username $DOCKER_REGISTRY_USER --password-stdin -# - echo "$DOCKER_REGISTRY_TOKEN" | docker login docker.io --username $DOCKER_REGISTRY_USER --password-stdin -# - docker buildx create --use -# - docker buildx build --push --platform linux/amd64,linux/arm64/v8 -t "$DOCKER_IMAGE_NAME:latest" -t "$DOCKER_IMAGE_NAME:$DRONE_TAG" -t "git.struchkov.dev/$STRUCHKOV_DOCKER_IMAGE_NAME:latest" -t "git.struchkov.dev/$STRUCHKOV_DOCKER_IMAGE_NAME:$DRONE_TAG" . -# -#--- -#kind: pipeline -#type: docker -#name: create-develop-docs-site -# -#trigger: -# branch: -# - develop -# - docs -# -#clone: -# disable: true -# -#steps: -# -# - name: build docs -# image: git.struchkov.dev/upagge/mkdocs-material-insiders:latest -# volumes: -# - name: mkdocs_cache -# path: ${DRONE_WORKSPACE}/documentation/ru/.cache -# environment: -# GIT_SSH: -# from_secret: GIT_SSH -# GIT_SSH_COMMAND: "ssh -i ~/.ssh/id_rsa -p 222" -# commands: -# - eval $(ssh-agent -s) -# - mkdir -p ~/.ssh -# - chmod 700 ~/.ssh -# - echo "$GIT_SSH" >> ~/.ssh/id_rsa -# - chmod 600 ~/.ssh/id_rsa -# - ssh-keyscan -p 222 git.struchkov.dev >> ~/.ssh/known_hosts -# - chmod 644 ~/.ssh/known_hosts -# - git config --global user.name "${DRONE_COMMIT_AUTHOR_NAME}" -# - git config --global user.email "${DRONE_COMMIT_AUTHOR_EMAIL}" -# - git clone ssh://git@git.struchkov.dev:222/Telegram-Bots/gitlab-notification.git . -# - git checkout $DRONE_COMMIT -# - cd documentation/ru -# - mike deploy --prefix gitlab-notification/ru --branch docs-deploy --push --update-aliases develop -# -#image_pull_secrets: -# - DOCKER_AUTH -# -#volumes: -# - name: mkdocs_cache -# host: -# path: /drone/volume/mkdocs_cache/gitlab_notification/ru -# -#--- -#kind: pipeline -#type: docker -#name: create-release-docs-site -# -#trigger: -# ref: -# - refs/tags/v.*.*.* -# -#clone: -# disable: true -# -#steps: -# -# - name: build docs -# image: git.struchkov.dev/upagge/mkdocs-material-insiders:latest -# volumes: -# - name: mkdocs_cache -# path: ${DRONE_WORKSPACE}/documentation/ru/.cache -# environment: -# GIT_SSH: -# from_secret: GIT_SSH -# GIT_SSH_COMMAND: "ssh -i ~/.ssh/id_rsa -p 222" -# commands: -# - eval $(ssh-agent -s) -# - mkdir -p ~/.ssh -# - chmod 700 ~/.ssh -# - echo "$GIT_SSH" >> ~/.ssh/id_rsa -# - chmod 600 ~/.ssh/id_rsa -# - ssh-keyscan -p 222 git.struchkov.dev >> ~/.ssh/known_hosts -# - chmod 644 ~/.ssh/known_hosts -# - git config --global user.name "${DRONE_COMMIT_AUTHOR_NAME}" -# - git config --global user.email "${DRONE_COMMIT_AUTHOR_EMAIL}" -# - git clone ssh://git@git.struchkov.dev:222/Telegram-Bots/gitlab-notification.git . -# - git checkout $DRONE_COMMIT -# - cd documentation/ru -# - mike deploy --prefix gitlab-notification/ru --branch docs-deploy --push --update-aliases ${DRONE_TAG} -# - mike deploy --prefix gitlab-notification/ru --branch docs-deploy --push --update-aliases latest -# -#image_pull_secrets: -# - DOCKER_AUTH -# -#volumes: -# - name: mkdocs_cache -# host: -# path: /drone/volume/mkdocs_cache/gitlab_notification +--- +kind: pipeline +type: docker +name: release build + +trigger: + ref: + - refs/tags/v.*.*.* + +services: + - name: docker + image: docker:20.10.22-dind-alpine3.17 + privileged: true + volumes: + - name: dockersock + path: /var/run + +volumes: + - name: m2 + host: + path: /drone/volume/m2 + - name: dockersock + temp: { } + +steps: + - name: create jar + image: maven:3.8.6-eclipse-temurin-17 + volumes: + - name: m2 + path: /root/.m2/repository + commands: + - mvn -U clean package + + - name: docker publish release + image: upagge/docker-buildx:latest + environment: + STRUCHKOV_DOCKER_REGISTRY_TOKEN: + from_secret: STRUCHKOV_DOCKER_REGISTRY_TOKEN + STRUCHKOV_DOCKER_IMAGE_NAME: + from_secret: STRUCHKOV_DOCKER_IMAGE_NAME + DOCKER_REGISTRY_TOKEN: + from_secret: DOCKER_REGISTRY_TOKEN + DOCKER_IMAGE_NAME: + from_secret: DOCKER_IMAGE_NAME + DOCKER_REGISTRY_USER: + from_secret: DOCKER_REGISTRY_USER + volumes: + - name: dockersock + path: /var/run + commands: + - echo "$STRUCHKOV_DOCKER_REGISTRY_TOKEN" | docker login git.struchkov.dev --username $DOCKER_REGISTRY_USER --password-stdin + - echo "$DOCKER_REGISTRY_TOKEN" | docker login docker.io --username $DOCKER_REGISTRY_USER --password-stdin + - docker buildx create --use + - docker buildx build --push --platform linux/amd64,linux/arm64/v8 -t "$DOCKER_IMAGE_NAME:latest" -t "$DOCKER_IMAGE_NAME:$DRONE_TAG" -t "git.struchkov.dev/$STRUCHKOV_DOCKER_IMAGE_NAME:latest" -t "git.struchkov.dev/$STRUCHKOV_DOCKER_IMAGE_NAME:$DRONE_TAG" . + +--- +kind: pipeline +type: docker +name: create-develop-docs-site + +trigger: + branch: + - develop + - docs + +clone: + disable: true + +steps: + + - name: build docs + image: git.struchkov.dev/upagge/mkdocs-material-insiders:latest + volumes: + - name: mkdocs_cache + path: ${DRONE_WORKSPACE}/documentation/en/.cache + environment: + GIT_SSH: + from_secret: GIT_SSH + GIT_SSH_COMMAND: "ssh -i ~/.ssh/id_rsa -p 222" + commands: + - eval $(ssh-agent -s) + - mkdir -p ~/.ssh + - chmod 700 ~/.ssh + - echo "$GIT_SSH" >> ~/.ssh/id_rsa + - chmod 600 ~/.ssh/id_rsa + - ssh-keyscan -p 222 git.struchkov.dev >> ~/.ssh/known_hosts + - chmod 644 ~/.ssh/known_hosts + - git config --global user.name "${DRONE_COMMIT_AUTHOR_NAME}" + - git config --global user.email "${DRONE_COMMIT_AUTHOR_EMAIL}" + - git clone ${DRONE_GIT_SSH_URL} . + - git checkout $DRONE_COMMIT + - cd documentation/en + - mike deploy --prefix chatgpt-telegram-bot/en --branch docs-deploy --push --update-aliases develop + +image_pull_secrets: + - DOCKER_AUTH + +volumes: + - name: mkdocs_cache + host: + path: /drone/volume/mkdocs_cache/chatgpt-telegram-bot/en + +--- +kind: pipeline +type: docker +name: create-release-docs-site + +trigger: + ref: + - refs/tags/v.*.*.* + +clone: + disable: true + +steps: + + - name: build docs + image: git.struchkov.dev/upagge/mkdocs-material-insiders:latest + volumes: + - name: mkdocs_cache + path: ${DRONE_WORKSPACE}/documentation/en/.cache + environment: + GIT_SSH: + from_secret: GIT_SSH + GIT_SSH_COMMAND: "ssh -i ~/.ssh/id_rsa -p 222" + commands: + - eval $(ssh-agent -s) + - mkdir -p ~/.ssh + - chmod 700 ~/.ssh + - echo "$GIT_SSH" >> ~/.ssh/id_rsa + - chmod 600 ~/.ssh/id_rsa + - ssh-keyscan -p 222 git.struchkov.dev >> ~/.ssh/known_hosts + - chmod 644 ~/.ssh/known_hosts + - git config --global user.name "${DRONE_COMMIT_AUTHOR_NAME}" + - git config --global user.email "${DRONE_COMMIT_AUTHOR_EMAIL}" + - git clone ${DRONE_GIT_SSH_URL} . + - git checkout $DRONE_COMMIT + - cd documentation/en + - mike deploy --prefix chatgpt-telegram-bot/en --branch docs-deploy --push --update-aliases ${DRONE_TAG} + - mike deploy --prefix chatgpt-telegram-bot/en --branch docs-deploy --push --update-aliases latest + +image_pull_secrets: + - DOCKER_AUTH + +volumes: + - name: mkdocs_cache + host: + path: /drone/volume/mkdocs_cache/chatgpt-telegram-bot/en --- kind: signature -hmac: e7f6553e0e0ffb44294dfee170fd01441b54cd56a5f4c70638486ac37fcdf047 +hmac: 44ca201fe0ea4a7b739d9e170e0852171c5175c0128bfd3e77f7247f92db56a8 ...