Commit f93a2792 authored by zhouzihao's avatar zhouzihao

fix-修复构建问题,支持项目配置

parent 13b8f96e
......@@ -129,18 +129,33 @@ const buildJava = async (projectObj, envObj, typeObj, configList, branch, versio
// 关键替换
for (let v of module_list) {
let opt = { filePath: project_dir + "/" + v + "/pom.xml" }
let opt = "";
var module_name = "";
if (_.isString(v)) {
module_name = v;
opt = { filePath: project_dir + "/" + v + "/pom.xml" }
} else if (_.isObject(v)) {
module_name = v.name;
opt = { filePath: project_dir + "/" + v.name + "/pom.xml" }
} else {
throw new Error("错误的类型")
}
var pom_object = await pomParserPromise(opt);
// console.log(JSON.stringify(pom_object));
// 这里默认情况下使用通配符
// 这里默认情况下使用通配符 当配置时覆盖
var exec_file = pom_object.project.name + "*";
if (_.isObject(v) && _.has(v, 'exec-file')) {
exec_file = _.get(v, "exec-file");
}
var image_name = module_name.toLocaleLowerCase();
var service_name = _.replace(pom_object.project.name, '-', '_');
var dockerfile_name = "dockerfile_" + service_name;
variables_str += " " + "IMAGE_NAME_" + service_name + ': "${IMAGE_HOST}/' + registry_group + '/${CI_PROJECT_NAME}/' + _.replace(_.lowerCase(v), " ", "-") + '"' + "\n";
variables_str += " " + 'IMAGE_VERSION_' + service_name + ': "${IMAGE_HOST}/' + registry_group + '/${CI_PROJECT_NAME}/' + _.replace(_.lowerCase(v), " ", "-") + ':${CI_COMMIT_TAG}"' + "\n";
variables_str += " " + 'IMAGE_LATEST_' + service_name + ': "${IMAGE_HOST}/' + registry_group + '/${CI_PROJECT_NAME}/' + _.replace(_.lowerCase(v), " ", "-") + ':latest"' + "\n";
variables_str += " " + "IMAGE_NAME_" + service_name + ': "${IMAGE_HOST}/' + registry_group + '/${CI_PROJECT_NAME}/' + image_name + '"' + "\n";
variables_str += " " + 'IMAGE_VERSION_' + service_name + ': "${IMAGE_HOST}/' + registry_group + '/${CI_PROJECT_NAME}/' + image_name + ':${CI_COMMIT_TAG}"' + "\n";
variables_str += " " + 'IMAGE_LATEST_' + service_name + ': "${IMAGE_HOST}/' + registry_group + '/${CI_PROJECT_NAME}/' + image_name + ':latest"' + "\n";
//缓存地址
cache += " - " + v + "/target/\n";
cache += " - " + module_name + "/target/\n";
docker_build_str += " " + "- docker build -t ${IMAGE_VERSION_" + service_name + "} -f " + dockerfile_name + " ." + "\n";
docker_tag_str += " " + '- docker tag ${IMAGE_VERSION_' + service_name + '} ${IMAGE_LATEST_' + service_name + '}' + "\n";
docker_push_str += " " + '- docker push ${IMAGE_VERSION_' + service_name + '}' + "\n";
......@@ -149,8 +164,8 @@ const buildJava = async (projectObj, envObj, typeObj, configList, branch, versio
fs.writeFileSync(`${project_dir}/${dockerfile_name}`, typeObj.docker_file);
var dockerfile_map = {
"{service}": v,
"{service-exec}": pom_object.project.name + "*"
"{service}": module_name,
"{service-exec}": exec_file
}
await replaceFileByMap(dockerfile_map, `${project_dir}/${dockerfile_name}`);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment