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