- Choerodon平台版本:0.22
gitlab-ci.yml
image: registry.cn-shanghai.aliyuncs.com/c7n/cibase:0.10.0
stages:
- build
- chart-build
build:
stage: build
script:
- docker build -t ${DOCKER_REGISTRY}/${GROUP_NAME}/${PROJECT_NAME}:${CI_COMMIT_TAG} .
- docker tag ${DOCKER_REGISTRY}/${GROUP_NAME}/${PROJECT_NAME}:${CI_COMMIT_TAG} ${DOCKER_REGISTRY}/${CI_PROJECT_PATH}:${CI_BUILD_REF_NAME}
- docker push ${DOCKER_REGISTRY}/${GROUP_NAME}/${PROJECT_NAME}:${CI_COMMIT_TAG}
- docker push ${DOCKER_REGISTRY}/${CI_PROJECT_PATH}:${CI_BUILD_REF_NAME}
chart-build:
stage: chart-build
script:
- chart_build
.auto_devops: &auto_devops |
http_status_code=`curl -o .auto_devops.sh -s -m 10 --connect-timeout 10 -w %{http_code} "${CHOERODON_URL}/devops/ci?token=${Token}&type=front"`
if [ "$http_status_code" != "200" ]; then
cat .auto_devops.sh
exit 1
fi
source .auto_devops.sh
function chart_build() {
echo "11111111111111"
#判断chart主目录名是否与应用编码保持一致
CHART_DIRECTORY_PATH=$(find . -maxdepth 2 -name $PROJECT_NAME)
if test ! -n "$CHART_DIRECTORY_PATH" ; then
echo "The chart's home directory should be consistent with the application code!"
exit 1
fi
# 查找Chart.yaml文件
CHART_PATH=$(find . -maxdepth 3 -name Chart.yaml)
# 重置values.yaml文件中image.repository属性
sed -i "s,repository:.*$,repository: $DOCKER_REGISTRY/$GROUP_NAME/$PROJECT_NAME,g" ${CHART_PATH%/*}/values.yaml
# 构建chart包,重写version与app-version为当前版本
helm package ${CHART_PATH%/*} --version $CI_COMMIT_TAG --app-version $CI_COMMIT_TAG
TEMP=${CHART_PATH%/*}
FILE_NAME=${TEMP##*/}
# 通过Choerodon API上传chart包到devops-service
result_upload_to_devops=$(curl -X POST \
-F "token=$Token" \
-F "harbor_config_id=$HARBOR_CONFIG_ID" \
-F "version=$CI_COMMIT_TAG" \
-F "file=@$FILE_NAME-$CI_COMMIT_TAG.tgz" \
-F "commit=$CI_COMMIT_SHA" \
-F "image=$DOCKER_REGISTRY/$GROUP_NAME/$PROJECT_NAME:$CI_COMMIT_TAG" \
"$CHOERODON_URL/devops/ci" \
-o "$CI_COMMIT_SHA-ci.response" \
-w %{http_code})
# 判断本次上传到devops是否出错
echo $HARBOR_CONFIG_ID
echo $FILE_NAME
echo $CI_COMMIT_SHA-ci.response
response_upload_to_devops=$(cat "$CI_COMMIT_SHA-ci.response")
echo "2222222222222222222222"
echo $response_upload_to_devops
rm "$CI_COMMIT_SHA-ci.response"
if test "$result_upload_to_devops" != "200" ; then
echo $response_upload_to_devops
echo "upload to devops error"
exit 1
fi
}
before_script:
- *auto_devops
执行结果
但是发布的时候
请问 我该如何查问题