You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
87 lines
4.0 KiB
87 lines
4.0 KiB
pipeline {
|
|
agent any
|
|
// environment {
|
|
// def imageName = "cloud/${project_names_and_port}"
|
|
// def tag="latest"
|
|
// }
|
|
tools {
|
|
maven "maven-3.6.3"
|
|
}
|
|
stages {
|
|
stage('check out') {
|
|
steps {
|
|
script{
|
|
def gitea_url
|
|
if("${gitea_server}" == "136Git")
|
|
{
|
|
gitea_url = "$local136_gitea_url"
|
|
}
|
|
if("${gitea_server}" == "aliyunGitea")
|
|
{
|
|
gitea_url = "$aliyun_gitea_url"
|
|
}
|
|
echo "================${gitea_url}"
|
|
checkout([$class: 'GitSCM', branches: [[name: '*/master']], extensions: [], userRemoteConfigs: [[credentialsId: "${gitea_server}", url: gitea_url]]])
|
|
|
|
}
|
|
}
|
|
}
|
|
stage('building dependency') {
|
|
steps {
|
|
sh '''
|
|
mvn -f renren-commons clean install -Dautoconfig.skip=true -Dmaven.test.skip=false -Dmaven.test.failure.ignore=true
|
|
mvn -f renren-module/stock/stock-client clean install -Dautoconfig.skip=true -Dmaven.test.skip=false -Dmaven.test.failure.ignore=true
|
|
mvn -f renren-admin/renren-admin-client clean install -Dautoconfig.skip=true -Dmaven.test.skip=false -Dmaven.test.failure.ignore=true
|
|
'''
|
|
}
|
|
}
|
|
|
|
|
|
stage('build images and deploy') {
|
|
|
|
steps {
|
|
script {
|
|
//if(false){
|
|
echo "registry_url=${registry_url}"
|
|
def selectedProjectNamesAndPort = "${project_names_and_port}".split(',')
|
|
def selectedSshNames = "${select_ssh_name}".split(',')
|
|
for(int i=0; i<selectedProjectNamesAndPort.size();i++)
|
|
{
|
|
//renren-gateway@8080,renren-auth@8081,renren-admin/renren-admin-server@8082,renren-module/stock/stock-server@8085
|
|
def projectNameWithGroup = selectedProjectNamesAndPort[i].split('@')[0]
|
|
def module_name = projectNameWithGroup
|
|
def service_name_array
|
|
if(projectNameWithGroup == "renren-admin/renren-admin-server"){
|
|
module_name=projectNameWithGroup.split('/')[1]
|
|
}else if(projectNameWithGroup == "renren-module/stock/stock-server"){
|
|
module_name=projectNameWithGroup.split('/')[2]
|
|
}
|
|
def register_port = selectedProjectNamesAndPort[i].split('@')[1]
|
|
|
|
sh "$shell_path/delete_image.sh $group_id/$module_name $latest_tag > /opt/jenkins_shell/delete_image.log 2>&1"
|
|
|
|
sh "mvn -f $projectNameWithGroup clean install dockerfile:build -Dautoconfig.skip=true -Dmaven.test.skip=false -Dmaven.test.failure.ignore=true"
|
|
|
|
sh "$shell_path/upload_image.sh $group_id/$module_name $latest_tag $registry_url > /opt/jenkins_shell/upload_image.log 2>&1"
|
|
|
|
echo "######### module_name=${module_name},register_port=${register_port}"
|
|
|
|
|
|
for(int j=0; j<selectedSshNames.size();j++)
|
|
{
|
|
def selectedSshName = selectedSshNames[j]
|
|
echo "selectedSshName=${selectedSshName}"
|
|
|
|
sshPublisher(publishers: [sshPublisherDesc(configName: "$selectedSshName", transfers: [sshTransfer(cleanRemote: false, excludes: '',
|
|
execCommand: "/data/jenkins_shell/deploy_image.sh $group_id $module_name $register_port $registry_url $eureka_url > /data/jenkins_shell/deploy_image.log 2>&1", execTimeout: 120000, flatten: false, makeEmptyDirs: false, noDefaultExcludes: false, patternSeparator: '[, ]+', remoteDirectory: '', remoteDirectorySDF: false, removePrefix: '', sourceFiles: '')], usePromotionTimestamp: false, useWorkspaceInPromotion: false, verbose: false)])
|
|
|
|
}
|
|
|
|
// }
|
|
}
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|