某网站做参考文献的书写,wordpress新建留言板,网站管理助手未找到iis,那个网站seo做的好的目录
一、实验
1.GitLabCI上传Nexus制品
2.优化GitLabCI#xff08;引用系统变量#xff09;
3.添加if条件判断项目类型
4.优化GitLabCI#xff08;模板类#xff09;
二、问题
1.GitLabCI获取jar文件失败
2. GitLabCI获取流水线项目命名空间失败
3.GItLab Packag…目录
一、实验
1.GitLabCI上传Nexus制品
2.优化GitLabCI引用系统变量
3.添加if条件判断项目类型
4.优化GitLabCI模板类
二、问题
1.GitLabCI获取jar文件失败
2. GitLabCI获取流水线项目命名空间失败
3.GItLab Package如何实现上传至本地仓库 一、实验
1.GitLabCI上传Nexus制品
1进入共享库 2修改流水线,提交到master
include:- project: devops03/devops03-gitlabci-libref: masterfile: /jobs/CI.yamlworkflow:rules:#新建分支永远不执行- if: $CI_PIPELINE_SOURCE web #允许手动触发when: always- if: $CI_COMMIT_BEFORE_SHA 0000000000000000000000000000000000000000when: never# 其他情况永远执行- when: always#取消每个阶段自动下载代码即全局关闭作业代码下载
variables:GIT_CHECKOUT: falseBUILD_SHELL: mvn clean package -DskipTests -s settings.xml ## 构建命令TEST_SHELL: mvn test -s settings.xml ## 测试命令ARTIFACT_PATH: target/*.jar ## 制品lujingTEST_REPORTS: target/surefire-reports/TEST-*.xml ## 测试报告stages:- build- test- sonarscan- pushartifactpipelineInit:extends: - .pipelineInitcibuild:extends:- .cibuildcitest:extends:- .citestsonarscan:extends:- .sonarscanpushartifact:tags:- buildstage: pushartifactscript:|-pkgNamels target/ | grep -e ^maven.*jar$curl -X POST http://192.168.204.13:8081/service/rest/v1/components?repositorymylocalrepo \-H accept: application/json \-H Content-Type: multipart/form-data \-F raw.directory/tmp \-F raw.asset1target/${pkgName};typeapplication/java-archive \-F raw.asset1.filename${pkgName} -u admin:Admin123 (2) maven项目开始运行流水线 3运行 4成功 5查看日志 6Nexus查看 2.优化GitLabCI引用系统变量
(1) 优化流水线,提交到master
include:- project: devops03/devops03-gitlabci-libref: masterfile: /jobs/CI.yamlworkflow:rules:#新建分支永远不执行- if: $CI_PIPELINE_SOURCE web #允许手动触发when: always- if: $CI_COMMIT_BEFORE_SHA 0000000000000000000000000000000000000000when: never# 其他情况永远执行- when: always#取消每个阶段自动下载代码即全局关闭作业代码下载
variables:GIT_CHECKOUT: falseBUILD_SHELL: mvn clean package -DskipTests -s settings.xml ## 构建命令TEST_SHELL: mvn test -s settings.xml ## 测试命令ARTIFACT_PATH: target/*.jar ## 制品lujingTEST_REPORTS: target/surefire-reports/TEST-*.xml ## 测试报告stages:- build- test- sonarscan- pushartifactpipelineInit:extends: - .pipelineInitcibuild:extends:- .cibuildcitest:extends:- .citestsonarscan:extends:- .sonarscanpushartifact:tags:- buildstage: pushartifactscript:|-pkgNamels target/ | grep -e ^maven.*jar$cd target/mv ${pkgName} ${CI_PROJECT_NAME}-${CI_COMMIT_SHA}.jarcurl -X POST http://192.168.204.13:8081/service/rest/v1/components?repositorymylocalrepo \-H accept: application/json \-H Content-Type: multipart/form-data \-F raw.directory/${CI_PROJECT_NAMESPACE}/${CI_PROJECT_NAME}/${CI_COMMIT_SHA}/ \-F raw.asset1${CI_PROJECT_NAME}-${CI_COMMIT_SHA}.jar;typeapplication/java-archive \-F raw.asset1.filename${CI_PROJECT_NAME}-${CI_COMMIT_SHA}.jar -u admin:Admin123 (2) maven项目开始运行流水线 3运行 (4) 成功 5查看日志 6Nexus查看 3.添加if条件判断项目类型
1修改流水线,提交到master
include:- project: devops03/devops03-gitlabci-libref: masterfile: /jobs/CI.yamlworkflow:rules:#新建分支永远不执行- if: $CI_PIPELINE_SOURCE web #允许手动触发when: always- if: $CI_COMMIT_BEFORE_SHA 0000000000000000000000000000000000000000when: never# 其他情况永远执行- when: always#取消每个阶段自动下载代码即全局关闭作业代码下载
variables:GIT_CHECKOUT: false ## 全局关闭作业代码下载PROJECT_TYPE: java ## 定义项目类型BUILD_SHELL: mvn clean package -DskipTests -s settings.xml ## 构建命令TEST_SHELL: mvn test -s settings.xml ## 测试命令ARTIFACT_PATH: target/*.jar ## 制品lujingTEST_REPORTS: target/surefire-reports/TEST-*.xml ## 测试报告stages:- build- test- sonarscan- pushartifactpipelineInit:extends: - .pipelineInitcibuild:extends:- .cibuildcitest:extends:- .citestsonarscan:extends:- .sonarscanpushartifact:tags:- buildstage: pushartifactscript:|-if [[ ${PROJECT_TYPE} java ]];thenpkgNamels target/ | grep -e ^maven.*jar$cd target/mv ${pkgName} ${CI_PROJECT_NAME}-${CI_COMMIT_SHA}.jarcurl -X POST http://192.168.204.13:8081/service/rest/v1/components?repositorymylocalrepo \-H accept: application/json \-H Content-Type: multipart/form-data \-F raw.directory/${CI_PROJECT_NAMESPACE}/${CI_PROJECT_NAME}/${CI_COMMIT_SHA}/ \-F raw.asset1${CI_PROJECT_NAME}-${CI_COMMIT_SHA}.jar;typeapplication/java-archive \-F raw.asset1.filename${CI_PROJECT_NAME}-${CI_COMMIT_SHA}.jar -u admin:Admin123elseecho PROJECT_TYPE ERROR [java]fi(2) maven项目开始运行流水线 3运行 (4) 成功 5查看日志 6Nexus查看 4.优化GitLabCI模板类
1修改流水线与新增模板类,提交到master
CI.yaml
.pipelineInit:tags:- buildstage: .prevariables:GIT_CHECKOUT: truescript:- ls -l.cibuild:tags:- buildstage: buildscript:- echo ${BUILD_SHELL}- ${BUILD_SHELL}artifacts:paths:- ${ARTIFACT_PATH}.citest:tags:- buildstage: testscript:- echo ${TEST_SHELL}- ${TEST_SHELL}# artifacts:# reports:# - junit: ${TEST_REPORTS}.sonarscan:tags: - buildstage: sonarscanscript: |-sonar-scanner -Dsonar.host.urlhttp://192.168.204.8:9000 \-Dsonar.projectKey${CI_PROJECT_NAME}\-Dsonar.projectName${CI_PROJECT_NAME} \-Dsonar.projectVersion${CI_COMMIT_SHA} \-Dsonar.login${SONAR_AUTH_TOKEN} \-Dsonar.ws.timeout30 \-Dsonar.projectDescription${CI_PROJECT_TITLE} \-Dsonar.links.homepage${CI_PROJECT_URL} \-Dsonar.links.ci${CI_PIPELINE_URL} \-Dsonar.sourcessrc \-Dsonar.sourceEncodingUTF-8 \-Dsonar.java.binariestarget/classes \-Dsonar.java.test.binariestarget/test-classes \-Dsonar.java.surefire.reporttarget/surefire-reports \-Dsonar.core.codeCoveragePluginjacoco \-Dsonar.jacoco.reportPathstarget/jacoco.exec.pushartifact:tags:- buildstage: pushartifactscript:|-if [[ ${PROJECT_TYPE} java ]];thenpkgNamels target/ | grep -e ^maven.*jar$cd target/mv ${pkgName} ${CI_PROJECT_NAME}-${CI_COMMIT_SHA}.jarcurl -X POST http://192.168.204.13:8081/service/rest/v1/components?repositorymylocalrepo \-H accept: application/json \-H Content-Type: multipart/form-data \-F raw.directory/${CI_PROJECT_NAMESPACE}/${CI_PROJECT_NAME}/${CI_COMMIT_SHA}/ \-F raw.asset1${CI_PROJECT_NAME}-${CI_COMMIT_SHA}.jar;typeapplication/java-archive \-F raw.asset1.filename${CI_PROJECT_NAME}-${CI_COMMIT_SHA}.jar -u admin:Admin123elseecho PROJECT_TYPE ERROR [java]fi
gitlab-ci.yaml
include:- project: devops03/devops03-gitlabci-libref: masterfile: /jobs/CI.yamlworkflow:rules:#新建分支永远不执行- if: $CI_PIPELINE_SOURCE web #允许手动触发when: always- if: $CI_COMMIT_BEFORE_SHA 0000000000000000000000000000000000000000when: never# 其他情况永远执行- when: always#取消每个阶段自动下载代码即全局关闭作业代码下载
variables:GIT_CHECKOUT: false ## 全局关闭作业代码下载PROJECT_TYPE: java ## 定义项目类型BUILD_SHELL: mvn clean package -DskipTests -s settings.xml ## 构建命令TEST_SHELL: mvn test -s settings.xml ## 测试命令ARTIFACT_PATH: target/*.jar ## 制品lujingTEST_REPORTS: target/surefire-reports/TEST-*.xml ## 测试报告stages:- build- test- sonarscan- pushartifactpipelineInit:extends: - .pipelineInitcibuild:extends:- .cibuildcitest:extends:- .citestsonarscan:extends:- .sonarscanpushartifact:extends:- .pushartifact (2) maven项目开始运行流水线 3运行 (4) 成功 5查看日志 6Nexus查看 二、问题
1.GitLabCI获取jar文件失败
1报错 2原因分析
正则表达式输入有误
3解决方法
修改正则表达式。
修改前
pkgNamels target/ | grep -e jar$
修改后
pkgNamels target/ | grep -e ^maven.*jar$
成功 2. GitLabCI获取流水线项目命名空间失败
1报错 2原因分析
变量错误
3解决方法
修改引用流水线变量。
修改前
-F raw.directory/${CI_PROJECT_ROOT_NAMESPACE}/${CI_PROJECT_NAME}/${CI_COMMIT_SHA}/ \
修改后
-F raw.directory/${CI_PROJECT_NAMESPACE}/${CI_PROJECT_NAME}/${CI_COMMIT_SHA}/ \
成功 3.GItLab Package如何实现上传至本地仓库
1版本
GItLab Package 需要GitLab 13.5及以上版本实现
2curl命令上传到GItLab Package
curl --header PRIVATE-TOKEN: 4b54764fd071175387e94385a0d6c5 \--upload-file sonar-gitlab-plugin-4.1.0-SNAPSHOT.jar \http://192.168.204.8/api/v4/projects/14/packages/generic/devops03-maven5-service/0.0.1/sonar-gitlab-plugin-4.1.0-SNAPSHOT.jar?statusdefault
3流水线上传到GItLab Package
CI.yaml
.pushartforgitlab:tags:- buildstage: pushartifact script:|- if [[ ${PROJECT_TYPE} java ]];thennewPkgName${CI_PROJECT_NAME}-${CI_COMMIT_SHA}.jarpkgNamels target/ | grep -e jar$cd target/mv ${pkgName} ${newPkgName}curl --header JOB-TOKEN: ${CI_JOB_TOKEN} \--upload-file ${newPkgName} \http://192.168.204.8/api/v4/projects/${CI_PROJECT_ID}/packages/generic/${CI_PROJECT_NAME}/${CI_COMMIT_SHA}/${newPkgName}?statusdefaultelseecho PROJECT_TYPE ERROR [java]fi
gitlab-ci.yaml pushartifact:extends:- .pushartforgitlab