常见ci配置汇总-Spring boot\Java\Android\Vue 等【上】

admin 2021-12-22 AM 4313℃ 0条

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. 创建令牌

image2020-4-23_11-23-8.png

上述令牌,即可用于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镜像

未完待续...

标签: k8s

非特殊说明,本博所有文章均为博主原创。

评论已关闭