This commit is contained in:
+21
-17
@@ -1,3 +1,7 @@
|
|||||||
|
# 凭据通过 Woodpecker Secret 注入(HARBOR_USERNAME / HARBOR_PASSWORD),
|
||||||
|
# 不再把 Harbor 账号密码 base64 后写进流水线脚本。
|
||||||
|
# 镜像推送只在 push / manual 触发:pull_request 不应向生产 registry 推送。
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: npm-build
|
- name: npm-build
|
||||||
image: node:22-alpine
|
image: node:22-alpine
|
||||||
@@ -12,14 +16,17 @@ steps:
|
|||||||
- main
|
- main
|
||||||
- feature/asset-statistics
|
- feature/asset-statistics
|
||||||
commands: |
|
commands: |
|
||||||
cd $CI_WORKSPACE
|
set -eu
|
||||||
npm ci
|
cd "$CI_WORKSPACE"
|
||||||
|
node --version
|
||||||
|
npm --version
|
||||||
|
npm ci --registry=https://registry.npmmirror.com/ --no-audit --no-fund --loglevel=verbose
|
||||||
npm run lint
|
npm run lint
|
||||||
npm test
|
npm test
|
||||||
npm run build
|
npm run build
|
||||||
|
|
||||||
# 获取分支名
|
# 获取分支名
|
||||||
BRANCH_NAME=$(echo $CI_COMMIT_BRANCH | tr / -)
|
BRANCH_NAME=$(echo ${CI_COMMIT_BRANCH:-manual} | tr / -)
|
||||||
echo "Branch name: $BRANCH_NAME"
|
echo "Branch name: $BRANCH_NAME"
|
||||||
|
|
||||||
# 版本号: 分支名-package.json版本
|
# 版本号: 分支名-package.json版本
|
||||||
@@ -30,10 +37,10 @@ steps:
|
|||||||
|
|
||||||
- name: docker-build
|
- name: docker-build
|
||||||
image: docker:24.0.5-cli
|
image: docker:24.0.5-cli
|
||||||
|
depends_on: [npm-build]
|
||||||
when:
|
when:
|
||||||
event:
|
event:
|
||||||
- push
|
- push
|
||||||
- pull_request
|
|
||||||
- manual
|
- manual
|
||||||
branch:
|
branch:
|
||||||
- master
|
- master
|
||||||
@@ -42,25 +49,22 @@ steps:
|
|||||||
- feature/asset-statistics
|
- feature/asset-statistics
|
||||||
volumes:
|
volumes:
|
||||||
- /var/run/docker.sock:/var/run/docker.sock
|
- /var/run/docker.sock:/var/run/docker.sock
|
||||||
|
environment:
|
||||||
|
HARBOR_USERNAME:
|
||||||
|
from_secret: HARBOR_USERNAME
|
||||||
|
HARBOR_PASSWORD:
|
||||||
|
from_secret: HARBOR_PASSWORD
|
||||||
commands: |
|
commands: |
|
||||||
PROJECT_VERSION=$(cat $CI_WORKSPACE/project_version.txt)
|
PROJECT_VERSION=$(cat $CI_WORKSPACE/project_version.txt)
|
||||||
MODULE_NAME=ln-bi
|
MODULE_NAME=ln-bi
|
||||||
|
REGISTRY=harbor.lnh2e.com
|
||||||
|
PROJECT=lingniu-v1
|
||||||
|
|
||||||
echo "Building Docker image: $MODULE_NAME:$PROJECT_VERSION"
|
echo "Building Docker image: $MODULE_NAME:$PROJECT_VERSION"
|
||||||
|
|
||||||
cd $CI_WORKSPACE
|
cd $CI_WORKSPACE
|
||||||
|
docker build -t $REGISTRY/$PROJECT/$MODULE_NAME:$PROJECT_VERSION .
|
||||||
|
|
||||||
docker build -t harbor.lnh2e.com/lingniu-v1/$MODULE_NAME:$PROJECT_VERSION .
|
echo "$HARBOR_PASSWORD" | docker login $REGISTRY -u "$HARBOR_USERNAME" --password-stdin
|
||||||
|
|
||||||
mkdir -p /root/.docker
|
docker push $REGISTRY/$PROJECT/$MODULE_NAME:$PROJECT_VERSION
|
||||||
cat > /root/.docker/config.json <<EOF
|
|
||||||
{
|
|
||||||
"auths": {
|
|
||||||
"harbor.lnh2e.com": {
|
|
||||||
"auth": "$(echo Y2ljZDpMbkBjaWNkMDE=)"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
EOF
|
|
||||||
|
|
||||||
docker push harbor.lnh2e.com/lingniu-v1/$MODULE_NAME:$PROJECT_VERSION
|
|
||||||
|
|||||||
Reference in New Issue
Block a user