网站建设需求调研表模板,营销网站建设公司有哪些,怎么学建网站,湖南益阳目录 
一、实验 
1.GitLab本地导入前后端项目 
2.Jenkins新建前后端项目流水线 
3.Sonarqube录入质量阈与质量配置 
4.修改GitLab共享库代码 
5.Jenkins手动构建前后端项目流水线 
6.Nexus查看制品上传情况 
7.优化代码获取RELEASE分支 
8.优化Jenkins流水线项目名称 一、实验 …目录 
一、实验 
1.GitLab本地导入前后端项目 
2.Jenkins新建前后端项目流水线 
3.Sonarqube录入质量阈与质量配置 
4.修改GitLab共享库代码 
5.Jenkins手动构建前后端项目流水线 
6.Nexus查看制品上传情况 
7.优化代码获取RELEASE分支 
8.优化Jenkins流水线项目名称 一、实验 
1.GitLab本地导入前后端项目 
1导入后端maven项目 2导入前端npm项目 
2.Jenkins新建前后端项目流水线 
1新建后端maven项目流水线 2新建前端npm项目流水线 (3)  新建devops视图包含前后端项目流水线 4修改选项参数更新GitLab前后端项目地址 3.Sonarqube录入质量阈与质量配置 
1质量阈 2质量配置 4.修改GitLab共享库代码 
1修改制品类Artifacts.grooy 
传参type判断项目制品上传类型 
package org.devops//上传制品def PushRawArtifacts(repoName,targetDir, filePath, pkgName,type ){withCredentials([usernamePassword(credentialsId: 318df1ad-083b-4158-ac88-2f584446563e, passwordVariable: TOKEN, usernameVariable: USER)]) {sh curl -X POST http://192.168.204.13:8081/service/rest/v1/components?repository${repoName} \-H accept: application/json \-H Content-Type: multipart/form-data \-F raw.directory${targetDir} \-F raw.asset1${filePath}/${pkgName};type${type} \-F raw.asset1.filename${pkgName} \-u ${USER}:${TOKEN}}} 2修改流水线文件Jenkinsfile 
上传制品阶段PushArtifacts通过2个if条件判断构建工具类型并完成相应制品上传 
Library(mylibmaster) _
import org.devops.*def checkout  new Checkout()
def build  new Build()
def unittest  new UnitTest()
def sonar  new Sonar()
def artifacts  new Artifacts()pipeline {agent { label build}options {skipDefaultCheckout true}stages{stage(Checkout){steps{script {println(GetCode)checkout.GetCode(${env.srcUrl},${env.branchName})}}}stage(build){steps{script{println(Build)build.CodeBuild(${env.buildTool})}}}stage(UnitTest){steps{script{println(Test)unittest.CodeTest(${env.buildTool})}}}stage(SonarScan){steps {script {groupName  ${JOB_NAME}.split(/)[0]projectName ${JOB_NAME}.split(/)[-1]sonar.CodeSonar(${env.buildTool},projectName,groupName)}}}stage(PushArtifacts){steps {script {repoName  ${JOB_NAME}.split(/)[0]projectName ${JOB_NAME}.split(/)[-1]targetDir  ${projectName}/${BUILD_ID}/if (${env.buildTool}  maven){filePath  targetpkgName  sh returnStdout: true, script: cd target/ ; ls maven*.jarpkgName  pkgName.trim()newPkgName  ${projectName}-${BUILD_ID}.jarsh cd target; mv ${pkgName} ${newPkgName} type  application/java-archive       }if (${env.buildTool}  npm){filePath  distnewPkgName  ${projectName}-${BUILD_ID}.tar.gzsh cd ${filePath}[ -f ${newPkgName} ]  rm -fr ${newPkgName}tar zcf ${newPkgName} *type  application/x-gzip }artifacts.PushRawArtifacts(repoName,targetDir,filePath,newPkgName,type)}}}}}5.Jenkins手动构建前后端项目流水线 
1构建后端项目 2构建前端项目 6.Nexus查看制品上传情况 
1查看后端项目 2查看前端项目 7.优化代码获取RELEASE分支 
1GitLab后端项目新建RELEASE分支 2GitLab前端项目新建RELEASE分支 3修改共享库流水线文件Jenkinsfile 
version 变量用来获取分支版本号 
Library(mylibmaster) _
import org.devops.*def checkout  new Checkout()
def build  new Build()
def unittest  new UnitTest()
def sonar  new Sonar()
def artifacts  new Artifacts()pipeline {agent { label build}options {skipDefaultCheckout true}stages{stage(Checkout){steps{script {println(GetCode)checkout.GetCode(${env.srcUrl},${env.branchName})}}}stage(build){steps{script{println(Build)build.CodeBuild(${env.buildTool})}}}stage(UnitTest){steps{script{println(Test)unittest.CodeTest(${env.buildTool})}}}stage(SonarScan){steps {script {groupName  ${JOB_NAME}.split(/)[0]projectName ${JOB_NAME}.split(/)[-1]sonar.CodeSonar(${env.buildTool},projectName,groupName)}}}stage(PushArtifacts){steps {script {repoName  ${JOB_NAME}.split(/)[0]projectName ${JOB_NAME}.split(/)[-1]version  ${env.branchName}.split(-)[-1]     //RELEASE-1.1.1targetDir  ${projectName}/${version}/if (${env.buildTool}  maven){filePath  targetpkgName  sh returnStdout: true, script: cd target/ ; ls maven*.jarpkgName  pkgName.trim()newPkgName  ${projectName}-${version}.jarsh cd target; mv ${pkgName} ${newPkgName} type  application/java-archive       }if (${env.buildTool}  npm){filePath  distnewPkgName  ${projectName}-${version}.tar.gzsh cd ${filePath}[ -f ${newPkgName} ]  rm -fr ${newPkgName}tar zcf ${newPkgName} *type  application/x-gzip }artifacts.PushRawArtifacts(repoName,targetDir,filePath,newPkgName,type)}}}}}4Jenkins手动构建后端流水线 5Jenkins手动构建前端流水线 6Nexus查看后端项目制品上传情况 7Nexus查看前端项目制品上传情况 8.优化Jenkins流水线项目名称 
1Jenkins修改后端项目流水线名称 
2Jenkins修改前端项目流水线名称 
3修改视图名称 5GitLab修改共享库Jenkinsfile 
变量projectName重新取分割后的值 
Library(mylibmaster) _
import org.devops.*def checkout  new Checkout()
def build  new Build()
def unittest  new UnitTest()
def sonar  new Sonar()
def artifacts  new Artifacts()pipeline {agent { label build}options {skipDefaultCheckout true}stages{stage(Checkout){steps{script {println(GetCode)checkout.GetCode(${env.srcUrl},${env.branchName})}}}stage(build){steps{script{println(Build)build.CodeBuild(${env.buildTool})}}}stage(UnitTest){steps{script{println(Test)unittest.CodeTest(${env.buildTool})}}}stage(SonarScan){steps {script {groupName  ${JOB_NAME}.split(/)[0]projectName ${JOB_NAME}.split(/)[-1].split(_)[0]sonar.CodeSonar(${env.buildTool},projectName,groupName)}}}stage(PushArtifacts){steps {script {repoName  ${JOB_NAME}.split(/)[0]projectName ${JOB_NAME}.split(/)[-1].split(_)[0]version  ${env.branchName}.split(-)[-1]     //RELEASE-1.1.1targetDir  ${projectName}/${version}/if (${env.buildTool}  maven){filePath  targetpkgName  sh returnStdout: true, script: cd target/ ; ls maven*.jarpkgName  pkgName.trim()newPkgName  ${projectName}-${version}.jarsh cd target; mv ${pkgName} ${newPkgName} type  application/java-archive       }if (${env.buildTool}  npm){filePath  distnewPkgName  ${projectName}-${version}.tar.gzsh cd ${filePath}[ -f ${newPkgName} ]  rm -fr ${newPkgName}tar zcf ${newPkgName} *type  application/x-gzip }artifacts.PushRawArtifacts(repoName,targetDir,filePath,newPkgName,type)}}}}}6Jenkins手动构建后端流水线 7Jenkins手动构建前端流水线 8Nexus查看后端项目制品上传情况 
9Nexus查看前端项目制品上传情况