Use Docker login action (#6567)
Use `docker/login-action` instead of handling Docker login in the Makfile. This fixes special character handling in the Makefile as well as allowing future pushing to other container registries. Signed-off-by: SuperQ <superq@gmail.com>
This commit is contained in:
parent
9380fe3d9e
commit
1366272f40
2 changed files with 6 additions and 2 deletions
5
.github/workflows/docker.yml
vendored
5
.github/workflows/docker.yml
vendored
|
@ -25,5 +25,10 @@ jobs:
|
||||||
run: make VERSION=${RELEASE:1} DOCKER=coredns -f Makefile.docker release
|
run: make VERSION=${RELEASE:1} DOCKER=coredns -f Makefile.docker release
|
||||||
- name: Show Docker Images
|
- name: Show Docker Images
|
||||||
run: docker images
|
run: docker images
|
||||||
|
- name: Docker login
|
||||||
|
uses: docker/login-action@e92390c5fb421da1463c202d546fed0ec5c39f20 # v3.1.0
|
||||||
|
with:
|
||||||
|
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||||
|
password: ${{ secrets.DOCKERHUB_PASSWORD }}
|
||||||
- name: Publish Docker Images
|
- name: Publish Docker Images
|
||||||
run: make VERSION=${RELEASE:1} DOCKER=coredns -f Makefile.docker docker-push
|
run: make VERSION=${RELEASE:1} DOCKER=coredns -f Makefile.docker docker-push
|
||||||
|
|
|
@ -102,7 +102,6 @@ else
|
||||||
@# Pushes coredns/coredns-$arch:$version images
|
@# Pushes coredns/coredns-$arch:$version images
|
||||||
@# Creates manifest for multi-arch image
|
@# Creates manifest for multi-arch image
|
||||||
@# Pushes multi-arch image to coredns/coredns:$version
|
@# Pushes multi-arch image to coredns/coredns:$version
|
||||||
@echo $(DOCKER_PASSWORD) | docker login -u $(DOCKER_LOGIN) --password-stdin
|
|
||||||
@echo Pushing: $(VERSION) to $(DOCKER_IMAGE_NAME)
|
@echo Pushing: $(VERSION) to $(DOCKER_IMAGE_NAME)
|
||||||
for arch in $(LINUX_ARCH); do \
|
for arch in $(LINUX_ARCH); do \
|
||||||
docker push $(DOCKER_IMAGE_NAME):$${arch}-$(VERSION) ;\
|
docker push $(DOCKER_IMAGE_NAME):$${arch}-$(VERSION) ;\
|
||||||
|
@ -111,7 +110,7 @@ else
|
||||||
docker manifest create --amend $(DOCKER_IMAGE_NAME):latest $(DOCKER_IMAGE_LIST_VERSIONED)
|
docker manifest create --amend $(DOCKER_IMAGE_NAME):latest $(DOCKER_IMAGE_LIST_VERSIONED)
|
||||||
docker manifest push --purge $(DOCKER_IMAGE_NAME):$(VERSION)
|
docker manifest push --purge $(DOCKER_IMAGE_NAME):$(VERSION)
|
||||||
docker manifest push --purge $(DOCKER_IMAGE_NAME):latest
|
docker manifest push --purge $(DOCKER_IMAGE_NAME):latest
|
||||||
TOKEN=$$(curl -s -H "Content-Type: application/json" -X POST -d "{\"username\":\"$(DOCKER_LOGIN)\",\"password\":\"$(DOCKER_PASSWORD)\"}" "https://hub.docker.com/v2/users/login/" | jq -r .token) ; \
|
TOKEN=$$(curl -s -H "Content-Type: application/json" -X POST -d "{\"username\":\"$${DOCKER_LOGIN}\",\"password\":\"$${DOCKER_PASSWORD}\"}" "https://hub.docker.com/v2/users/login/" | jq -r .token) ; \
|
||||||
for arch in $(LINUX_ARCH); do \
|
for arch in $(LINUX_ARCH); do \
|
||||||
curl -X DELETE -H "Authorization: JWT $${TOKEN}" "https://hub.docker.com/v2/repositories/$(DOCKER_IMAGE_NAME)/tags/$${arch}-$(VERSION)/" ;\
|
curl -X DELETE -H "Authorization: JWT $${TOKEN}" "https://hub.docker.com/v2/repositories/$(DOCKER_IMAGE_NAME)/tags/$${arch}-$(VERSION)/" ;\
|
||||||
done
|
done
|
||||||
|
|
Loading…
Add table
Reference in a new issue