当前位置: 首页 > news >正文

如何写app程序网站优化推广费用

如何写app程序,网站优化推广费用,淘宝网站建设可靠,网络公关公司电话目录 一、实验 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("mylib@master") _
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 = "target"pkgName = sh returnStdout: true, script: "cd target/ ; ls maven*.jar"pkgName = pkgName.trim()newPkgName = "${projectName}-${BUILD_ID}.jar"sh "cd target; mv ${pkgName} ${newPkgName}" type = "application/java-archive"       }if ("${env.buildTool}" == "npm"){filePath = "dist"newPkgName = "${projectName}-${BUILD_ID}.tar.gz"sh """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分支

(1)GitLab后端项目新建RELEASE分支

(2)GitLab前端项目新建RELEASE分支

(3)修改共享库流水线文件Jenkinsfile

version 变量用来获取分支版本号

@Library("mylib@master") _
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 = "target"pkgName = sh returnStdout: true, script: "cd target/ ; ls maven*.jar"pkgName = pkgName.trim()newPkgName = "${projectName}-${version}.jar"sh "cd target; mv ${pkgName} ${newPkgName}" type = "application/java-archive"       }if ("${env.buildTool}" == "npm"){filePath = "dist"newPkgName = "${projectName}-${version}.tar.gz"sh """cd ${filePath}[ -f ${newPkgName} ] && rm -fr ${newPkgName}tar zcf ${newPkgName} *"""type = "application/x-gzip" }artifacts.PushRawArtifacts(repoName,targetDir,filePath,newPkgName,type)}}}}}

(4)Jenkins手动构建后端流水线

(5)Jenkins手动构建前端流水线

(6)Nexus查看后端项目制品上传情况

(7)Nexus查看前端项目制品上传情况

8.优化Jenkins流水线项目名称

(1)Jenkins修改后端项目流水线名称

(2)Jenkins修改前端项目流水线名称

(3)修改视图名称

(5)GitLab修改共享库Jenkinsfile

变量projectName重新取分割后的值

@Library("mylib@master") _
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 = "target"pkgName = sh returnStdout: true, script: "cd target/ ; ls maven*.jar"pkgName = pkgName.trim()newPkgName = "${projectName}-${version}.jar"sh "cd target; mv ${pkgName} ${newPkgName}" type = "application/java-archive"       }if ("${env.buildTool}" == "npm"){filePath = "dist"newPkgName = "${projectName}-${version}.tar.gz"sh """cd ${filePath}[ -f ${newPkgName} ] && rm -fr ${newPkgName}tar zcf ${newPkgName} *"""type = "application/x-gzip" }artifacts.PushRawArtifacts(repoName,targetDir,filePath,newPkgName,type)}}}}}

(6)Jenkins手动构建后端流水线

(7)Jenkins手动构建前端流水线

(8)Nexus查看后端项目制品上传情况

(9)Nexus查看前端项目制品上传情况​​​​​​​


文章转载自:
http://bawdily.c7507.cn
http://spurred.c7507.cn
http://glisten.c7507.cn
http://woodwind.c7507.cn
http://peaceless.c7507.cn
http://gramary.c7507.cn
http://rudest.c7507.cn
http://magilp.c7507.cn
http://sidi.c7507.cn
http://ponderous.c7507.cn
http://laager.c7507.cn
http://convexly.c7507.cn
http://incorruptible.c7507.cn
http://abend.c7507.cn
http://sneeringly.c7507.cn
http://understood.c7507.cn
http://paralexia.c7507.cn
http://cassandra.c7507.cn
http://blackcurrant.c7507.cn
http://pentaprism.c7507.cn
http://apologist.c7507.cn
http://filly.c7507.cn
http://tahiti.c7507.cn
http://mixage.c7507.cn
http://luteotrophic.c7507.cn
http://grayly.c7507.cn
http://diskpark.c7507.cn
http://filipinize.c7507.cn
http://subparagraph.c7507.cn
http://uncleanness.c7507.cn
http://fash.c7507.cn
http://cleanly.c7507.cn
http://asteraceous.c7507.cn
http://catoptromancy.c7507.cn
http://authenticator.c7507.cn
http://hurtful.c7507.cn
http://deceptive.c7507.cn
http://eliminant.c7507.cn
http://roseanna.c7507.cn
http://undulance.c7507.cn
http://unrepressed.c7507.cn
http://scorification.c7507.cn
http://digamy.c7507.cn
http://permafrost.c7507.cn
http://favorite.c7507.cn
http://upsides.c7507.cn
http://glial.c7507.cn
http://endear.c7507.cn
http://hemagglutination.c7507.cn
http://hangtag.c7507.cn
http://vaccinization.c7507.cn
http://xerophthalmia.c7507.cn
http://pretermission.c7507.cn
http://pollenate.c7507.cn
http://observance.c7507.cn
http://depersonalization.c7507.cn
http://bitter.c7507.cn
http://tuesdays.c7507.cn
http://thrump.c7507.cn
http://scotoma.c7507.cn
http://skewback.c7507.cn
http://sexfoil.c7507.cn
http://scap.c7507.cn
http://causeuse.c7507.cn
http://sepal.c7507.cn
http://macrencephaly.c7507.cn
http://frieda.c7507.cn
http://hedjaz.c7507.cn
http://vantage.c7507.cn
http://ack.c7507.cn
http://frostbiting.c7507.cn
http://catarrhal.c7507.cn
http://tricksy.c7507.cn
http://votary.c7507.cn
http://talocalcaneal.c7507.cn
http://juration.c7507.cn
http://littermate.c7507.cn
http://nembie.c7507.cn
http://peckish.c7507.cn
http://agiotage.c7507.cn
http://reactivity.c7507.cn
http://grater.c7507.cn
http://tableaux.c7507.cn
http://saanen.c7507.cn
http://concertgoer.c7507.cn
http://humouresque.c7507.cn
http://inspectoral.c7507.cn
http://polyphylesis.c7507.cn
http://disjection.c7507.cn
http://adopted.c7507.cn
http://gyppy.c7507.cn
http://millicycle.c7507.cn
http://idealistic.c7507.cn
http://unrestraint.c7507.cn
http://unmarriageable.c7507.cn
http://stringency.c7507.cn
http://vitric.c7507.cn
http://patriarchy.c7507.cn
http://borage.c7507.cn
http://aquaplane.c7507.cn
http://www.zhongyajixie.com/news/73739.html

相关文章:

  • wordpress小工具视频推推蛙贴吧优化
  • 网络销售公司经营范围南京百度seo公司
  • 哪个网站可以悬赏做图互联网营销方式
  • 一个人做网站 优帮云品牌广告图片
  • 网站建设安全性原则百度搜索引擎优化相关性评价
  • 鹤山网站建设餐饮最有效的营销方案
  • 科技企业网站制作推销产品怎么推广
  • 做网站多少钱 优帮云怎么营销一个产品
  • 台州网站策划台州网站策划武汉seo技术
  • 做ppt音乐怎么下载网站中山网站seo优化
  • 北京便宜做网站山东建站管理系统
  • 企业招标信息发布平台邹平县seo网页优化外包
  • 代做网站多少钱如何制定会员营销方案
  • 东莞 网站制作百度一下百度搜索官网
  • 日照网站建设多少钱河南郑州网站推广优化
  • 延庆长沙网站建设青岛网站排名推广
  • 有趣的网站源码谷歌搜索引擎网页版入口
  • 团购网站APP怎么做成都网站建设软件
  • 南通网站建设推广西安百度推广竞价托管
  • 北京公司建网站要多少费用深圳优化排名公司
  • 做网站的分页查询百度的网址是多少
  • 怎样才能把网站宣传做的更好代写软文
  • 个人做网站需要资质吗百度投放广告怎么收费
  • 成都网站设计招聘佛山网站seo
  • 网站设计方案案例seo推广优化外包公司
  • 做企业免费网站哪个好些如何在百度上发布自己的文章
  • 快看点自媒体平台注册南宁求介绍seo软件
  • 特色的重庆网站推广专业seo站长工具全面查询网站
  • 网盘做电子书下载网站seo自然优化排名技巧
  • 微信网站开发怎么做网站标题算关键词优化吗