Drone: встроить докер, выпустить тег, отправить файл на тег в github - PullRequest
0 голосов
/ 10 сентября 2018

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

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