# action.yml name: 'build docker image and push to code' description: 'build docker image and push to simcu code' runs: using: 'composite' steps: - name: build app uses: docker://gradle:jdk21 with: entrypoint: "/bin/bash" args: | -c "export https_proxy=http://100.100.13.14:8118 && \ export http_proxy=http://100.100.13.14:8118 && \ sh gradlew build --info --no-daemon && \ cd build/libs && \ mv $(ls *.jar) app.jar" - name: create dockerfile uses: docker://ubuntu:latest with: entrypoint: "/bin/bash" args: | -c 'echo "FROM openjdk:21" > Dockerfile && \ echo "COPY build/libs/app.jar /app.jar" >> Dockerfile && \ echo "ENTRYPOINT [\"java\", \"-jar\", \"/app.jar\"]" >> Dockerfile && \ echo "已经构建完DOCKERFILE了" && \ cat Dockerfile' - name: build docker image uses: docker://docker:git with: entrypoint: "/bin/sh" args: | -c 'docker build -t ${{vars.DOCKER_REGISTRY}}/${{github.repository}}:${{ github.ref_name }} . && \ echo ${{vars.DOCKER_REGISTRY}}/${{github.repository}}:${{ github.ref_name }}已经构建完了 && \ docker login ${{vars.DOCKER_REGISTRY}} -u ${{vars.DOCKER_USER}} -p ${{vars.DOCKER_PASS}} && \ docker push ${{vars.DOCKER_REGISTRY}}/${{github.repository}}:${{ github.ref_name }} && \ echo ${{vars.DOCKER_REGISTRY}}/${{github.repository}}:${{ github.ref_name }}推送成功'