支持自定义构建上下文 context
This commit is contained in:
+31
-25
@@ -1,58 +1,64 @@
|
|||||||
name: 'build docker image and push to registry (default: code)'
|
name: "build docker image and push to registry (default: code)"
|
||||||
|
|
||||||
inputs:
|
inputs:
|
||||||
registry:
|
registry:
|
||||||
description: 'Docker registry URL'
|
description: "Docker registry URL"
|
||||||
required: true
|
required: true
|
||||||
default: '${{ vars.DOCKER_REGISTRY }}'
|
default: "${{ vars.DOCKER_REGISTRY }}"
|
||||||
user:
|
user:
|
||||||
description: 'Docker registry username'
|
description: "Docker registry username"
|
||||||
required: true
|
required: true
|
||||||
default: '${{ vars.DOCKER_USER }}'
|
default: "${{ vars.DOCKER_USER }}"
|
||||||
pass:
|
pass:
|
||||||
description: 'Docker registry password'
|
description: "Docker registry password"
|
||||||
required: true
|
required: true
|
||||||
default: '${{ vars.DOCKER_PASS }}'
|
default: "${{ vars.DOCKER_PASS }}"
|
||||||
image:
|
image:
|
||||||
description: 'Docker image name'
|
description: "Docker image name"
|
||||||
required: true
|
required: true
|
||||||
default: '${{ github.repository }}'
|
default: "${{ github.repository }}"
|
||||||
tag:
|
tag:
|
||||||
description: 'Docker image tag (default: main)'
|
description: "Docker image tag (default: main)"
|
||||||
required: false
|
required: false
|
||||||
default: '${{ github.ref_name }}'
|
default: "${{ github.ref_name }}"
|
||||||
platform:
|
platform:
|
||||||
description: 'Build platform (default: linux/amd64)'
|
description: "Build platform (default: linux/amd64)"
|
||||||
required: false
|
required: false
|
||||||
default: 'linux/amd64'
|
default: "linux/amd64"
|
||||||
|
context:
|
||||||
|
description: "Docker build context directory, relative to the repository root (default: .)"
|
||||||
|
required: false
|
||||||
|
default: "."
|
||||||
dockerfile:
|
dockerfile:
|
||||||
description: 'Path to the Dockerfile (default: Dockerfile)'
|
description: "Full path to the Dockerfile, relative to the repository root or absolute (default: Dockerfile)"
|
||||||
required: false
|
required: false
|
||||||
default: 'Dockerfile'
|
default: "Dockerfile"
|
||||||
proxy:
|
proxy:
|
||||||
description: 'Proxy URL'
|
description: "Proxy URL"
|
||||||
required: false
|
required: false
|
||||||
default: 'http://100.100.13.14:8118' # 默认代理
|
default: "" # 默认代理
|
||||||
no_proxy:
|
no_proxy:
|
||||||
description: 'No proxy addresses'
|
description: "No proxy addresses"
|
||||||
required: false
|
required: false
|
||||||
default: '192.168.0.0/24,192.168.1.0/24,*.simcu.com,*.coce.ink,*.coce.cc' # 默认不使用代理的地址
|
default: "192.168.0.0/24,192.168.1.0/24,*.simcu.com,*.coce.ink,*.coce.cc" # 默认不使用代理的地址
|
||||||
|
|
||||||
runs:
|
runs:
|
||||||
using: 'composite'
|
using: "composite"
|
||||||
steps:
|
steps:
|
||||||
- name: build docker image
|
- name: build docker image
|
||||||
uses: docker://docker:git
|
uses: docker://docker:git
|
||||||
env:
|
env:
|
||||||
DOCKER_BUILDKIT: 1
|
DOCKER_BUILDKIT: 1
|
||||||
HTTPS_PROXY: ${{ inputs.proxy }} # 设置 HTTPS 代理
|
HTTPS_PROXY: ${{ inputs.proxy }} # 设置 HTTPS 代理
|
||||||
HTTP_PROXY: ${{ inputs.proxy }} # 设置 HTTPS 代理
|
HTTP_PROXY: ${{ inputs.proxy }} # 设置 HTTPS 代理
|
||||||
NO_PROXY: ${{ inputs.no_proxy }} # 设置不使用代理的地址
|
NO_PROXY: ${{ inputs.no_proxy }} # 设置不使用代理的地址
|
||||||
with:
|
with:
|
||||||
entrypoint: "/bin/sh"
|
entrypoint: "/bin/sh"
|
||||||
args: |
|
args: |
|
||||||
-c 'docker ps && docker info && docker build --platform ${{ inputs.platform }} \
|
-c 'docker ps && docker info && \
|
||||||
-t ${{ inputs.registry }}/${{ inputs.image }}:${{ inputs.tag }} -f ${{ inputs.dockerfile }} . && \
|
docker build --platform ${{ inputs.platform }} \
|
||||||
|
-t ${{ inputs.registry }}/${{ inputs.image }}:${{ inputs.tag }} \
|
||||||
|
-f ${{ inputs.dockerfile }} ${{ inputs.context }} && \
|
||||||
echo ${{ inputs.registry }}/${{ inputs.image }}:${{ inputs.tag }} 已经构建完了 && \
|
echo ${{ inputs.registry }}/${{ inputs.image }}:${{ inputs.tag }} 已经构建完了 && \
|
||||||
docker login ${{ inputs.registry }} -u ${{ inputs.user }} -p ${{ inputs.pass }} && \
|
docker login ${{ inputs.registry }} -u ${{ inputs.user }} -p ${{ inputs.pass }} && \
|
||||||
docker push ${{ inputs.registry }}/${{ inputs.image }}:${{ inputs.tag }} && \
|
docker push ${{ inputs.registry }}/${{ inputs.image }}:${{ inputs.tag }} && \
|
||||||
|
|||||||
Reference in New Issue
Block a user