我正在使用Github Actions自动化从Spring boot(mvn spring-boot: build-image)推送在maven插件帮助下生成的docker映像的过程,但我收到一个maven错误:
由以下原因引起:org. apache.maven.plugin.PluginExecutionException:目标org.springframe.boot的执行default-cli:spring-boot-maven-plugin:3.0.0:build-image失败:推送图像时收到错误响应:拒绝:对资源的请求访问被拒绝
使用以下配置:
- name: Build image & push
run: |
cd myFolder
mvn -X spring-boot:build-image \
--batch-mode --no-transfer-progress \
-Dspring-boot.build-image.publish=true \
-Dspring-boot.build-image.imageName="MY_USER/demo-ms:0.1.0" \
-DCI_REGISTRY=https://index.docker.io/v1 \
-DCI_REGISTRY_USER=${{ secrets.DOCKERHUB_USERNAME }} \
-DCI_REGISTRY_PASSWORD=${{ secrets.DOCKERHUB_TOKEN }}
https://docs.spring.io/spring-boot/docs/current/maven-plugin/reference/htmlsingle/#build-image.examples.docker.auth
我错过了什么?
事先非常感谢
胡安·安东尼奥
在github操作中,可以运行脚本,所以我找到了一个替代方案:
在github操作级别:
- name: Build image & push
run: |
cd myFolder
./build-spring-boot.sh ${{ secrets.DOCKERHUB_USERNAME }} ${{ secrets.DOCKERHUB_PASSWORD }}
在脚本级别:
docker login "https://index.docker.io/v1/" -u="$1" -p="$2"
mvn spring-boot:build-image \
--batch-mode --no-transfer-progress
IMAGE_NAME=$(mvn help:evaluate -Dexpression=docker.image.name -q -DforceStdout)
echo $IMAGE_NAME
docker push $IMAGE_NAME
这样,您就可以发布您的图像。