Как клонировать репозиторий, создать образ 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