How to run angular CICD on gitlab-runner of wsl?

devtools/2024/11/14 13:21:56/

前提文件

.gitlab-ci.yml, .dockerignore, ci-funcs.sh, Dockerfile, karma.conf.js, nginx.conf, nginx-custom.conf, sonar-project.properties

1.test.ts

const context = require.context('./app/pages', true, /\.spec\.ts$/);

2.sonar-project.properties

sonar.sources=src/app/xxx
sonar.javascript.lcov.reportPaths=coverage/lcov.info

3.karma.conf.js

  coverageIstanbulReporter: {
      dir: require('path').join(__dirname, './coverage'),
      reports: ['html', 'lcovonly', 'text-summary'],
      fixWebpackSourcePaths: true
    },

4.angular.json

   "test": {
      ...,
      "codeCoverage": true
    },

5.config.toml

  [[runners]]
    name = "webapp-angular runner on wsl"
    url = "https://gitlab.xxx.com/"
    token = "..."
    executor = "docker"
    [runners.custom_build_dir]
    [runners.cache]
      [runners.cache.s3]
      [runners.cache.gcs]
      [runners.cache.azure]
    [runners.docker]
      tls_verify = false
      image = "harbor.xxx.com/base_image/alpine:latest"
      privileged = false
      disable_entrypoint_overwrite = false
      oom_kill_disable = false
      disable_cache = false
      volumes = ["/data/gitlab-runner/builds:/builds","/data/gitlab-runner/cache:/cache","/var/run/docker.sock:/var/run/docker.sock"]
      shm_size = 0

6.CI/CD Settings

  Test coverage parsing: Statements.*?(\d+(?:\.\d+)?)%

7.Command

  ng test --no-watch --code-coverage
  sonar-scanner -Dproject.settings=sonar-project.properties

8.Reference

  https://gitlab.xxx.com.cn/xxx/webapp-angular


http://www.ppmy.cn/devtools/96387.html

相关文章

【BUU】[Dest0g3 520迎新赛]Really Easy SQL

2024/8/14 [Dest0g3 520迎新赛]Really Easy SQL 题目标题说明是SQL注入 题目首页 页面title显示是钓鱼站点。 钓鱼站点主要为将我们的输入信息保存在数据库。后台应该是插入语句。 这里无论输入什么都显示密码错误, 只能尝试盲注,基于时间的盲注, 这里经过测试p…

SpringBoot依赖之Spring Data Redis 一 String类型

Spring Data Redis(一) 概念 Spring Data Redis (AccessDriver) 依赖名称: Spring Data Redis (AccessDriver)功能描述: Advanced and thread-safe Java Redis client for synchronous, asynchronous, and reactive usage. Supports Cluster, Sentinel, Pipelining, Auto-Re…

SQL触发器的级联魔力:数据完整性的守护者

标题:SQL触发器的级联魔力:数据完整性的守护者 在SQL的丰富世界中,触发器(Trigger)是一种特殊的存储过程,它能够自动执行响应数据库中的数据修改事件。而级联操作(Cascade)则是触发…

MQ高级消息队列

RabbitMq 使用mq的三个作用 第一个 异步操作 第二个 应用解耦 第三关 流量削峰 同步异步 同步调用就像是openfeign调用 一旦响应立即看到结果 异步通信就像是调用的时候可以干别的事,可以不用等待 开闭原则 面向修改关闭,面向拓展打开 mq用于流量削峰,多个业务之间的调用…

培训第二十七天(lvs_nat模式与lvs_dr模式配置)

上午 核心:内核中的ipvs,ipvsadm1、安装ipvsadm[rootnat ~]# yum -y install ipvsadm2、配置规则查看所有的规则,如果已经配置好规则,重启之后也就没有了[rootnat ~]# ipvsadm -L -n 1、配置vip网卡 (1)在…

golang的哪些内置的函数、方法返回值第二个值使用error,哪些使用ok

在 Go 语言中,许多内置函数和方法使用 error 返回值或 ok 布尔值。以下是一些常见的例子: 使用 error 的函数 文件操作 os.Open()os.Remove()os.Mkdir() file, err : os.Open("file.txt")网络操作 net.Dial()http.Get() resp, err : http.Get…

3-4 RGB LED(智能应用篇)

3-4 RGB LED(智能应用篇) 3-4 RGB LEDRGB-LED及电路示例程序效果演示 3-4 RGB LED Led的灯珠和灯带,相当于点和线(可以画出丰富否画面) 主要介绍led灯珠 RGB-LED及电路 RGB-LED可以发出红、绿、蓝色的光芒&#xff0…

Vue 添加 dayjs 方便日期操作

Day.js是一个极简的JavaScript库,可以为现代浏览器解析、验证、操作和显示日期和时间。 Day.js 可以运行在浏览器和 Node.js 中。 先用 cmd 在vue 项目中添加 dayjs npm install dayjs//在 main.js 中挂载 import dayjs from dayjs // 全局方法挂载 Vue.prototype…