How to run angular CICD on gitlab-runner of wsl?
前提文件
.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
相关文章:
How to run angular CICD on gitlab-runner of wsl?
前提文件 .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.sourcessrc/…...
搭建Java集成开发环境IntelliJ IDEA
搭建Java集成开发环境(Integrated Development Environment,简称IDE)IntelliJ IDEA是一个涉及多个步骤的过程,旨在帮助Java开发者高效、舒适地进行编程工作。IntelliJ IDEA由JetBrains公司开发,以其强大的代码自动补全…...
JS逆向浏览器脱环境专题:事件学习和编写、DOM和BOM结构、指纹验证排查、代理自吐环境通杀环境检测、脱环境框架、脱环境插件解决
🌐JS逆向浏览器脱环境专题:事件学习和编写、DOM和BOM结构、指纹验证排查、代理自吐环境通杀环境检测、脱环境框架、脱环境插件解决 🖥️ 浏览器事件学习和编写 浏览器事件是用户与网页交互的主要方式,了解并掌握这些事件的处理方…...
驾校预约学习系统--论文pf
TOC springboot373驾校预约学习系统--论文pf 第1章 绪论 1.1 课题背景 二十一世纪互联网的出现,改变了几千年以来人们的生活,不仅仅是生活物资的丰富,还有精神层次的丰富。在互联网诞生之前,地域位置往往是人们思想上不可跨域…...
交叉编译ARM平台的OpenCV1.0
首先,从http://www.opencv.org.cn下载1.0的源码包,然后解压出来,进入解压后的目录,再进行下面的修改: 将configure 文件下列内容注释掉(有两处),只保留GTK_CFLAGS"" 、GTK_LIBS"" 、have_gtkno 三项内容(如下黑体所示)&…...
牛客周赛 Round 56 AK
背景 语言艺术 A题:面包店故事 题意 一块面包要x元,加培根要y元,有n元,问能否买到加培根的面包 思路 大水题,gpt秒了 代码 #include <bits/stdc.h> using namespace std; int main() {int x, y, n; cin …...
LeetCode 热题 HOT 100 (038/100)【宇宙最简单版】
【动态规划】No. 0337 打家劫舍III【中等】👉力扣对应题目指路 希望对你有帮助呀!!💜💜 如有更好理解的思路,欢迎大家留言补充 ~ 一起加油叭 💦 欢迎关注、订阅专栏 【力扣详解】谢谢你的支持&a…...
SQLALchemy ORM 的关联关系之 ORM 中的一对一
SQLALchemy ORM 的关联关系之 ORM 中的一对一 场景示例实现一对一关系使用 `relationship()` 和外键(FK)插入和查询数据总结在 SQLAlchemy ORM 中,一对一(One-to-One)关联关系是一种比较少见的模型关系,但它确实有其应用场景,特别是在你需要将一个对象与另一个对象紧密绑…...
模型部署 - docker
docker简介 Docker 是一种开源的容器化平台,允许开发者将应用程序及其依赖项打包到一个标准化的单元中,称为“容器”。这些容器可以在任何支持 Docker 的系统上运行,无需担心环境差异。 为什么需要 Docker? 在传统的开发中&…...
学懂C++(三十四):深入详解 C++ 高级多线程编程技术中的并发设计模式
引言 在现代软件开发中,多线程编程已成为提升性能和响应能力的重要手段。设计模式为解决并发问题提供了有效的解决方案。本文将探讨常见的并发设计模式,包括生产者-消费者模式、读者-写者模式、单例模式、帧-工作者模式以及Future-Task模式,并…...
大数据产业链图谱_产业链全景图_大数据行业市场分析
数据作为新型生产要素,是数字化、网络化、智能化的基础,已快速融入生产、分配、流通、消费和社会服务管理等各环节,影响着千行百业,推动着我国数字经济的蓬勃发展。 大数据又称巨量数据、海量数据,是由数量巨大、结构…...
photonserver 部署相关教程
Photon Server 是 Exit Games 开发的高性能、可扩展的多人游戏服务器框架。部署 Photon Server 需要一些基础的服务器管理知识和配置技巧。以下是一个基本的部署教程,帮助你将 Photon Server 部署在 Windows 服务器上。 目录 1. 下载并安装 Photon Server 2. 配置…...
GEE训练:sentinel-1数据的投影、显示和导出
函数 projection() Returns the default projection of an Image. Throws an error if the bands of the image dont all have the same projection. 返回图像的默认投影。如果图像带的投影不一致,则会抛出错误。 Arguments: this:image (Image): The image from which …...
后端学习笔记(七)--MyBatis参数传递
5.MyBatis参数传递 *MyBatis接口方法中可以接收各种各样的参数,MyBatis底层对于这些参数进行不同的封装处理方式 *单个参数: 1.POJO类型:直接使用,属性名和参数占位符名称一致 2.Map集合:直接使用,…...
uniapp 网络请求自动处理loading
文章目录 背景整理思路V1版本V2版本V3版本 背景 最近在写uniapp,发现执行网络请求的时候经常要处理Loading效果。 比如,在发送网络请求之前,触发Loadng;无论请求成功还是失败都要关闭Loading;请求失败的时候我们还要…...
【Solidity】函数的使用
构造函数 构造函数仅在部署合约时调用一次,它的作用主要是初始化一些状态变量。 contract Demo {address public owner;uint public num;constructor(uint _num) {owner msg.sender;num _num;} }函数装饰器 函数装饰器可以在函数执行之前或之后插入代码逻辑&am…...
详解golang内存管理
介绍 要搞明白 Go 语言的内存管理,就必须先理解操作系统以及机器硬件是如何管理内存的。因为 Go 语言的内部机制是建立在这个基础之上的,它的设计,本质上就是尽可能的会发挥操作系统层面的优势,而避开导致低效情况。 操作系统内存管理 其实现在计算机内存管理的方式都是…...
C++ 线程 一些同步方式
C 线程一些同步方式 1.互斥锁(Mutex)2. 读写锁(Reader-Writer Lock)3. 信号量(Semaphore)4. 原子操作(Atomic)5. 屏障(Barrier)6. 条件变量(Condi…...
【开发语言】编译型语言和解释性语言有啥区别?
作为一名从业多年的程序员,对于编译型语言和解释型语言之间的区别有着深入的理解。这两种类型的编程语言在将源代码转换成可执行代码的过程中采用了不同的机制,这导致了它们在执行效率、跨平台性、安全性以及开发效率等方面存在一些差异。 编译型语言(Compiled Languages)…...
将A服务器上指定文件夹中的文件,批量同步到B服务器上
需求:最近有一个需求,需要定期将A服务器上的PDF文件,同步到B服务器上,于是便写个脚本记录一下! 下面是使用Python3脚本实现的方法 import os import paramikodef copy_pdf_files(source_ip, source_user, source_pas…...
从ResNet到mHC:DeepSeek重构残差连接,额外开销仅6.7%,附复现代码
2015年,由微软亚洲研究院的何恺明团队提出ResNet,ResNet引入残差连接的概念,用以解决深层神经网络训练中的梯度消失/爆炸和网络退化问题,使得训练极深的网络成为可能。 ��1��&#x…...
OpenClaw技能扩展实战:基于Qwen3-32B-Chat实现公众号自动发布
OpenClaw技能扩展实战:基于Qwen3-32B-Chat实现公众号自动发布 1. 为什么需要自动化公众号发布 作为一个技术博主,我每周都要在公众号发布2-3篇技术文章。最让我头疼的不是写作本身,而是发布前的繁琐流程:手动调整Markdown格式、…...
视频内容自动打标:基于Emotion2Vec+ Large的语音情绪分析方案
视频内容自动打标:基于Emotion2Vec Large的语音情绪分析方案 1. 引言:语音情绪分析在视频内容管理中的价值 在视频内容爆炸式增长的今天,如何高效管理和检索海量视频素材成为内容平台面临的重大挑战。传统的人工打标方式不仅效率低下&#…...
智能配置引擎如何攻克AMD黑苹果的三大技术壁垒
智能配置引擎如何攻克AMD黑苹果的三大技术壁垒 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 在黑苹果领域,AMD平台曾被视为技术禁区&…...
Maestro移动测试自动化成长路径:从零基础到专家的完整技能图谱
Maestro移动测试自动化成长路径:从零基础到专家的完整技能图谱 【免费下载链接】maestro Painless Mobile UI Automation 项目地址: https://gitcode.com/GitHub_Trending/ma/maestro 想要构建可靠的移动应用测试体系却不知从何开始?Maestro移动测…...
Chandra AI性能调优:GPU显存优化全攻略
Chandra AI性能调优:GPU显存优化全攻略 1. 引言 跑大模型最头疼的是什么?对,就是那个让人又爱又恨的GPU显存!明明买了张不错的显卡,结果跑个模型就提示"Out of Memory",这种经历想必很多朋友都…...
PvZ Toolkit:植物大战僵尸游戏体验增强工具全解析
PvZ Toolkit:植物大战僵尸游戏体验增强工具全解析 【免费下载链接】pvztoolkit 植物大战僵尸 PC 版综合修改器 项目地址: https://gitcode.com/gh_mirrors/pv/pvztoolkit 问题引入:植物大战僵尸玩家的共同痛点 在植物大战僵尸游戏过程中…...
Wan2.1-umt5与Node.js后端集成:构建高并发AI服务网关
Wan2.1-umt5与Node.js后端集成:构建高并发AI服务网关 最近和几个做后端的朋友聊天,发现大家都有个共同的痛点:想把一些好用的AI模型能力集成到自己的业务系统里,但一遇到高并发场景就头疼。要么是API调用超时,要么是服…...
TradingAgents-CN:5分钟搭建你的AI投资智囊团,让普通人也能拥有专业金融分析能力
TradingAgents-CN:5分钟搭建你的AI投资智囊团,让普通人也能拥有专业金融分析能力 【免费下载链接】TradingAgents-CN 基于多智能体LLM的中文金融交易框架 - TradingAgents中文增强版 项目地址: https://gitcode.com/GitHub_Trending/tr/TradingAgents-…...
手把手玩转Bagging分类——用Matlab实现工业故障检测
Bagging分类 Matlab代码 可用于故障检测等 基于集成算法Bagging的数据分类预测(可以更换为单、多变量时序预测/回归,前私我),Matlab代码,可直接运行,适合小白新手 [憨笑]程序已经调试好,无需更改代码替换数据集即可运行…...
