0. 准备工作项目标准化
公司里面要使用流水线要做持续集成CI/CD的项目越来越多,这对流水线的设计和开发有不同的要求。我们经常听到用户的反馈:
各种不同语言的技术栈, 如何使流水线适配呢? 从不同技术栈维护一套流水线模版,到我们使用共享库进行统一的管理和维护。
对于不同的项目,大家管理代码的方式也不同。可能还有一部分用户在使用Svn等不同的版本控制系统。
不同的项目,开发模式也不太一样, 编译构建工具不同,发布的方式也有不同的地方...
等等,不止上面的...
2021-12-21 /
560 次浏览 /
系统运维
写pipeline的时候,前面一般定义是sharelibrary的库,下面是使用库里面的方法,再下面是日常定义的一些变量,在下面就是整个流水线的过程了。
参考文档:Groovy Language Documentation
The Apache Groovy programming language - The Groovy Development Kit
Groovy是一种功能强大,可选类型和动态语言,支持Java平台。旨在提高开发人员的生产力...
2021-12-21 /
570 次浏览 /
系统运维
数据类型 字符串string
字符串表示方式: 单引号、双引号、三单双引号。
//定义一个字符串类型变量name
String name = 'zhangsan'
String name = "zhangsan"
//定义一个变量包含多行内容
String zeyang = """
devops
"""
println(zeyang)
//字符串分割操作,变为列表
String branchName = "...
2021-12-21 /
643 次浏览 /
系统运维
将扫描结果和git commit去做一个关联,下面红色方框的就是commit id,每次提交都会有一个id
提前装好插件:https://github.com/gabrie-allaigre/sonar-gitlab-plugin/tree/4.1.0-SNAPSHOT插件的说明文档查看该插件的Readme文档。
[root@zeyang-nuc-service ~]# cp sonar-gitlab-plugin-4.1.0-SNAPSHOT.jar /data/...
2021-12-21 /
660 次浏览 /
系统运维
列表list的表示: [] [1,2,3,4]
// list
// 定义一个list
def mylist = [1,2,3,4,4,"devops"]
println(mylist)
// list的元素增删
println(mylist + "jenkins")
println(mylist - "devops")
println(mylist << "java")
def newlist = mylist.add("gitlab")
p...
2021-12-21 /
554 次浏览 /
系统运维
有时在其他语言中称为字典或关联数组,Groovy 特征映射。映射将键与值关联起来,用冒号分隔键和值,每个键/值对用逗号,整个键和值用方括号括起来。 映射maptypes = [“maven”:“mvn”] [:]// 定义map
def mytools = [ "mvn": "/usr/local/maven",
"gradle&...
2021-12-21 /
527 次浏览 /
系统运维
//查找项目
api/projects/search?projects=${projectName}"
//创建项目
api/projects/create?name=${projectName}&project=${projectName}"
//更新语言规则集
api/qualityprofiles/add_project?language=${language}&qualityProfile=${qualityProfile}&pr...
2021-12-21 /
537 次浏览 /
系统运维
Jenkins作业
Jenkins作业
文件夹: anyops
作业命名: 后端 anyops-devops-service 前端 anyops-devops-ui
现在就可以在该项目下面创建子项目了。
CI构建规范
CI构建规范
前端项目采用npm打包后统一放到dist目录下, 静态文件以tgz打包。(将静态文...
2021-12-21 /
458 次浏览 /
系统运维
Jenkins 清除工作目录扩展: 如何清除工作目录? 安装Workspace Cleanup插件。在Pipeline 的Post中的alway...
2021-12-21 /
544 次浏览 /
系统运维
/*
定义变量参数branchName
如果branchName 等于dev则打印dev,
如果branchName 等于test则打印test,
上面都不匹配则打印skipdeploy
*/
String branchName = "dev"
if ( branchName == "dev" ){
println("dev....")
} else if (branchName == "test"){
println("test....")
} else {...
2021-12-21 /
635 次浏览 /
系统运维