Android 扫描
开发Android项目时,及早使用infer对代码进行扫描,减少bug。
tips:iOS的扫描后续再增加
在gitlab-ci.yml中添加如下步骤:
stages:
- infer-scan
infer-scan:
stage: infer-scan
image: dhub.xxx.cn/base/das-infer:v0.17.0
script:
- infer -- ./gradlew build
- sendreport gl.lei@qq.com
only:
- master
tags:
- docker
其中,sendreport后的邮箱,请改成自己的邮箱,用于接收测试报告。
Java代码扫描
在开发Java后台(SpringBoot)项目时,可以利用sonar对代码进行扫描,及早发现问题。
在.gitlab-ci.yml中添加扫描步骤:
stages:
- scan
scan:
stage: scan
image: dhub.xxx.cn/base/jdk8
script:
- mvn package -Dmaven.test.skip=true
- mvn sonar:sonar -Dsonar.projectKey=ci-demo -Dsonar.host.url=http://scan.xxx.cn -Dsonar.login=xxx
tags:
- docker
其中,sonar.projectKey参数为scan.dasyun.cn上的项目名称,sonar.login 参数请登录 http://scan.dasyun.cn 获取。
Step 1. 创建项目(已有则跳过)
Step 2. 创建令牌
上述令牌,即可用于gitlab-ci.yml中。
NodeJS/Vue编译
前端需要编译vue项目时,使用此步骤进行编译。
ci配置文件中添加如下步骤:
stages:
- build
build-npm:
stage: build
image: dhub.xxx.cn/base/nodejs-12
script:
- yarn
- yarn build
artifacts:
expire_in: 1 hour
paths:
- dist/*
tags:
- docker
注意:注意添加artifacts,将dist目录归档,这样后续步骤就可以直接使用归档后的dist
Springboot编译
使用统一的环境编译jar,对线上部署等会有比较大的好处,所有springboot项目,均要求使用此步骤进行jar编译。
stages:
- test
- package
test:
stage: test
image: dhub.xxx.cn/base/jdk8
script:
- mvn test
tags:
- docker
package:
stage: package
image: dhub.xxx.cn/base/jdk8
script:
- mvn package -Dmaven.test.skip=true
tags:
- docker
artifacts:
expire_in: 1 days
paths:
- target/*.jar
注意:
- 使用mvn test进行单元测试
- 使用mvn package -Dmaven.test.skip=true打包
- 注意artifacts将target目录下的jar包归档起来,方便后续制作docker镜像
未完待续...
评论已关闭