Drone: встроить докер, выпустить тег, отправить файл на тег в github

Как клонировать репозиторий, создать образ Docker, получить коммит git sha из dockerfile, выпустить тег в github с этим коммитом sha и загрузить в него файлы из картинок докера?

  • Как удалить все остатки (изображения, тома, контейнеры) из dind (сборка докера --force-rm --no-cache -t my-image .)
  • Как создать тег в github и одновременно загрузить файлы в этот тег? Это вообще возможно?
  • Как получить информацию о git с шага 0 (git clone). Я хочу использовать этот шаг тега (git config remote.origin.url https://{NEED_USERNAME}:{github_token }@github.com/ndomNEED_USERNAME‹/ndomNEED_REPONAME enj.git)

Конечно, если есть другое решение для моего варианта использования, я буду его использовать.:small_smile: спасибо

Например:

Dockerfile

FROM alpine:3.8
RUN apk update && apk add --no-cache git maven
RUN git clone https://github.com/efsavage/hello-world-war
RUN cd hello-world-war && mvn package
RUN cp target/my-app.jar /dest
RUN git log --format="%H" -n 1 > /dest/sha

.drone.yml

pipeline:
  build:
    image: docker
    commands:
      - docker build --force-rm --no-cache -t my-image .
      - GIT_SHA=$(cat /dest/sha)
    volumes:
     - /var/run/docker.sock:/var/run/docker.sock
     - /here:/dest
   tag:
     image: docker:git 
     secrets: [ github_token ]
     commands:
       - git config remote.origin.url https://{NEED_USERNAME}:{github_token }@github.com/{NEED_USERNAME}/{NEED_REPONAME}.git
       - git tag vMY_APP_${GIT_SHA}
       - git push origin vMY_APP_${GIT_SHA} 
   github_release:
     image: plugins/github-release
     secrets: [ github_token ]
     files:  /dest/my-app.jar
     checksum:
       - sha256
     when:
       event: tag
     volumes:
        - /here:/dest

0 ответов

Другие вопросы по тегам