Commit f93a2792 authored by zhouzihao's avatar zhouzihao

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

parent 13b8f96e
...@@ -129,18 +129,33 @@ const buildJava = async (projectObj, envObj, typeObj, configList, branch, versio ...@@ -129,18 +129,33 @@ const buildJava = async (projectObj, envObj, typeObj, configList, branch, versio
// 关键替换 // 关键替换
for (let v of module_list) { 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); var pom_object = await pomParserPromise(opt);
// console.log(JSON.stringify(pom_object)); // 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 service_name = _.replace(pom_object.project.name, '-', '_');
var dockerfile_name = "dockerfile_" + service_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_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}/' + _.replace(_.lowerCase(v), " ", "-") + ':${CI_COMMIT_TAG}"' + "\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}/' + _.replace(_.lowerCase(v), " ", "-") + ':latest"' + "\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_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_tag_str += " " + '- docker tag ${IMAGE_VERSION_' + service_name + '} ${IMAGE_LATEST_' + service_name + '}' + "\n";
docker_push_str += " " + '- docker push ${IMAGE_VERSION_' + 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 ...@@ -149,8 +164,8 @@ const buildJava = async (projectObj, envObj, typeObj, configList, branch, versio
fs.writeFileSync(`${project_dir}/${dockerfile_name}`, typeObj.docker_file); fs.writeFileSync(`${project_dir}/${dockerfile_name}`, typeObj.docker_file);
var dockerfile_map = { var dockerfile_map = {
"{service}": v, "{service}": module_name,
"{service-exec}": pom_object.project.name + "*" "{service-exec}": exec_file
} }
await replaceFileByMap(dockerfile_map, `${project_dir}/${dockerfile_name}`); 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