更新 .github/workflows/buidl_and_push_ghcr.yml
This commit is contained in:
31
.github/workflows/buidl_and_push_ghcr.yml
vendored
31
.github/workflows/buidl_and_push_ghcr.yml
vendored
@@ -1,40 +1,17 @@
|
|||||||
name: Build with Kaniko (Fixed URL)
|
- name: Build and Push (Hardcoded Host)
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches: [ main ]
|
|
||||||
workflow_dispatch:
|
|
||||||
|
|
||||||
permissions:
|
|
||||||
packages: write
|
|
||||||
contents: read
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: Checkout code
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
|
|
||||||
- name: Build and Push
|
|
||||||
uses: docker://gcr.io/kaniko-project/executor:v1.23.2-debug
|
uses: docker://gcr.io/kaniko-project/executor:v1.23.2-debug
|
||||||
with:
|
with:
|
||||||
entrypoint: /busybox/sh
|
entrypoint: /busybox/sh
|
||||||
args: >-
|
args: >-
|
||||||
-c
|
-c
|
||||||
"
|
"
|
||||||
# 1. 清洗域名:去掉 http:// 或 https:// 前缀
|
# 直接填入你的内部域名,避免任何 Shell 解析问题
|
||||||
SAFE_HOST=$(echo '${{ gitea.server_url }}' | sed 's|https\?://||')
|
SAFE_HOST='gitea-http.gitea.svc.cluster.local:3000'
|
||||||
|
|
||||||
echo \"检测到的 Server URL: ${{ gitea.server_url }}\"
|
echo \"Using Host: \$SAFE_HOST\"
|
||||||
echo \"清洗后的 Hostname: \$SAFE_HOST\"
|
|
||||||
|
|
||||||
# 2. 生成认证文件
|
|
||||||
# 注意:config.json 中的 auths key 最好保持完整 URL 或者与 destination 一致
|
|
||||||
# 这里我们尝试使用清洗后的域名作为 auth key,这样最稳妥
|
|
||||||
echo \"{\\\"auths\\\":{\\\"\$SAFE_HOST\\\":{\\\"username\\\":\\\"${{ gitea.actor }}\\\",\\\"password\\\":\\\"${{ secrets.GITHUB_TOKEN }}\\\"}}}\" > /kaniko/.docker/config.json
|
echo \"{\\\"auths\\\":{\\\"\$SAFE_HOST\\\":{\\\"username\\\":\\\"${{ gitea.actor }}\\\",\\\"password\\\":\\\"${{ secrets.GITHUB_TOKEN }}\\\"}}}\" > /kaniko/.docker/config.json
|
||||||
|
|
||||||
# 3. 执行构建
|
|
||||||
/kaniko/executor \
|
/kaniko/executor \
|
||||||
--context=. \
|
--context=. \
|
||||||
--dockerfile=Dockerfile \
|
--dockerfile=Dockerfile \
|
||||||
|
|||||||
Reference in New Issue
Block a user