Commit 13b8f96e authored by zhouzihao's avatar zhouzihao

fix-处理部分bugOC

parent 507a960a
......@@ -5,6 +5,7 @@ const replace = require('replace-in-file');
const fs = require('fs');
var sleep = require('sleep');
var pomParser = require("pom-parser");
var databaseHelper = require("../tools/databaseHelper")
/**
* 构建Java项目
......@@ -77,6 +78,7 @@ const buildJava = async (projectObj, envObj, typeObj, configList, branch, versio
var git_info = JSON.parse(stdout5.stdout);
//获取项目远程地址
var git_remote = git_info.http_url_to_repo;
var project_id = git_info.id;
console.log("git项目的远程地址为:");
console.log(git_remote);
......@@ -104,7 +106,7 @@ const buildJava = async (projectObj, envObj, typeObj, configList, branch, versio
// 先看看build语句
// 默认跳过测试
var build_script = _.get(projectMetaData, "build_script", " -mvn clean install package -Dmaven.test.skip=true");
var build_script = _.get(projectMetaData, "build_script", " - mvn clean install package -Dmaven.test.skip=true");
// 识别要扫描的模块
var module_list = _.get(projectMetaData, "module_list", ["."]);
// 初始化变量
......@@ -120,7 +122,8 @@ const buildJava = async (projectObj, envObj, typeObj, configList, branch, versio
// docker login ${IMAGE_HOST} -u yzy -p 123qweQWE@
if (!_.isEmpty(username) && !_.isEmpty(password)) {
docker_build_str += "docker login ${IMAGE_HOST} -u " + username + " -p " + password;
docker_build_str += " - docker login ${IMAGE_HOST} -u " + username + " -p " + password + "\n";
// docker_build_str += " - docker login 10.100.9.22:2080 -u " + username + " -p " + password + "\n";
}
......@@ -131,24 +134,23 @@ const buildJava = async (projectObj, envObj, typeObj, configList, branch, versio
// console.log(JSON.stringify(pom_object));
// 这里默认情况下使用通配符
var service_name = pom_object.project.name;
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}/' + _.lowerCase(service_name) + '"' + "\n";
variables_str += " " + 'IMAGE_VERSION-' + service_name + ': "${IMAGE_HOST}/' + registry_group + '/${CI_PROJECT_NAME}/' + _.lowerCase(service_name) + ':${CI_COMMIT_TAG}"' + "\n";
variables_str += " " + 'IMAGE_LATEST-' + service_name + ': "${IMAGE_HOST}/' + registry_group + '/${CI_PROJECT_NAME}/' + _.lowerCase(service_name) + ':latest"' + "\n";
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";
//缓存地址
cache += " - " + v + "/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";
docker_push_str += " " + '- docker push ${IMAGE_LATEST-' + service_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_push_str += " " + '- docker push ${IMAGE_VERSION_' + service_name + '}' + "\n";
docker_push_str += " " + '- docker push ${IMAGE_LATEST_' + service_name + '}' + "\n";
// 这里要写dockerfile
fs.writeFileSync(`${project_dir}/${dockerfile_name}`, typeObj.docker_file);
var dockerfile_map = {
"{service}": v,
"{service-exec}": service_name + "*"
"{service-exec}": pom_object.project.name + "*"
}
await replaceFileByMap(dockerfile_map, `${project_dir}/${dockerfile_name}`);
}
......@@ -166,6 +168,11 @@ const buildJava = async (projectObj, envObj, typeObj, configList, branch, versio
};
await replaceFileByMap(gitlab_ci_map, `${project_dir}/.gitlab-ci.yml`);
// 提供gitlab-ci
// 创建数据//
// todo 创建docker-compose
// 替换docker-compose
......@@ -177,7 +184,14 @@ const buildJava = async (projectObj, envObj, typeObj, configList, branch, versio
let { stdout13 } = await execa(`git`, ['remote', 'add', 'origin', git_remote], { cwd: project_dir });
let { stdout14 } = await execa(`git`, ['push', '-u', 'origin', 'master'], { cwd: project_dir });
// 打上tag
let stdout15 = await execa('curl', [
'--header',
`PRIVATE-TOKEN:${token}`,
'-X',
'POST',
`${target_git_url}/api/v4/projects/${project_id}/repository/tags?tag_name=${version}&ref=master`
]);
console.log(stdout15.stdout);
}
/**
......
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