晒一晒Jenkins那些常用插件
作为 CI/CD 的调度中心,Jenkins 具有十八般武艺,目前已有 1700 多个插件,功能强大到似乎有点过分了。本文主要列出平时我们常用的插件。
以下这两个网站是 Jenkins 所有的插件及说明
Jenkins Plugins https://plugins.jenkins.ioJinkins Plugins Wiki https://wiki.jenkins.io
ConfigurationJenkins CASC: configuration-as-code将Jenkins的配置以Code的方式进行保存,方便Jenkins的迁移与重建。该插件对于敏捷管理Jenkins服务非常有用。
jobConfigHistory记录和跟踪Jenkins作业配置的历史变更,方便查看配置修改记录和回滚操作。
ParameterGit Parameter这是一个参数构建扩展,可以在构建的时候选择git的某一个分支来构建服务。
file-parameters这个让Jenkinsfile支持将文件作为参数。
Hidden Parameter参数化构建时,隐藏相关参数。可用于设置默认参数 ...
Cue-Lang介绍
Cue,是一种开源语言,用于定义,生成和验证各种数据:配置,API,数据库模式,代码……。它能够将数据的结构、约束、数值作为同一层级成员,从而简化配置文件的生成。Cue教程
Cue格式说明
使用//进行单行注释
对象被称为结构体
对象成员称为结构字段
对于没有特殊字符的字段名,可以省略引号
结构字段后面无需,
在列表中的最后一个元素后放置,
最外层的{}可省略
例子:
1234567891011121314151617181920str: "hello world"num: 42flt: 3.14// Special field name (and a comment)"k8s.io/annotation": "secure-me"// lists can have different element typeslist: [ "a", "b", "c", 1, 2, 3,]obj: { foo: "bar" // ...
Windows-WSL2开发环境,一点不逊色于Mac
一直使用Mac来做开发,但没想到现在Windows也这么好用。通过WSL,拥有了Windows酣畅的操作特性,又有了Linux的兼容性。作为开发环境一点不逊色于Mac,甚至更易使用。下面就操练起来吧。
WSL21. 安装控制面板 -> 程序和功能 -> 启用和关闭windows 功能, 勾选如下功能: - 适用于Linux的Windows子系统 - 虚拟机平台
确定。
2. 升级WSLhttps://docs.microsoft.com/en-us/windows/wsl/install-manual#step-4---download-the-linux-kernel-update-package下载 Linux 内核更新包 WSL2 Linux kernel update package for x64 machines,并安装。
设置wsl默认版本为 `2`, PowerShell
1wsl --set-default-version 2
升级已安装的分发,可使用wsl --set-version, PowerShell
1wsl --set-ve ...
SciKit-Learn-机器学习入门(一)
安装SciKit Learn123pip install numpypip install sklearnpip install matplotlib
sklean中自带的数据
iris 鸢尾属植物数据(分类)
12from sklearn import datasetsiris = datasets.load_iris()
Boston房价信息(线性回归)
12from sklearn import datasetsboston = datasets.load_boston()
等等
分类器实例12345678910111213141516from sklearn import datasetsfrom sklearn.neighbors import KNeighborsClassifierfrom sklearn.model_selection import train_test_splitiris = datasets.load_iris() ## 加载数据iris_X = iris.data ## X坐标,叶子长宽等属性iris_Y = iri ...
SciKit-Learn机器学习入门(二)——Pipeline
在我们平常的机器学习得到的数据并不能直接使用,必须先对它进行预处理后才能正常使用。以股票数据为例,当前的股价并不是独立的,它与之前的股价是有关系的,一个可用的方法是对对股价处理转为增长幅度。
12time1, price1time2, price2
转为
12time1, Nantime2, (price2-price1)/price1
SKLear提供了Pipeline工具方便数据处理。
12345678910111213141516171819202122232425262728293031323334353637## 定义数据处理类ColumnExtractor,获取指定列的数据class ColumnExtractor(BaseEstimator, TransformerMixin): def __init__(self, column_name): self.column_name = column_name def fit(self, X, y=None): return self def transform(self, X, ...
个性化聚类推荐Kmeans实战
数据预处理1. 去除不需要的数据目标是:一个用户,后面全是用户的特征
列数据中 Null 数据 > 80% 所有数据 isnull().sum()
列数据中一样的数据 > 80%所有数据 value_counts()
表示同一个意思的字段,只需要保留一个:如用户名、用户账号、支付账号、收货人姓名
根据场景分析不需要的字段:如买家应付货款、应付邮费等
2. 只获取指定的列数据12df_order.ix[:, '订单编号', '买家会员名', '买家实际支付金额', '收货地址', '种类', '数量', '退款金额']# ix是loc与iloc的合集,其中loc是按照列名来取数据,iloc是按照列的index来取数据
或者
1df_order[['订单编号', '买家会员名', '买家实际支付金额', '收货地址', '种类', ...
DevOps工具汇总大全
DevOps神道:项目管理工具
Jenkins:CI工具
Ansible:配置管理工具
GitLab/Gogs:代码库
Docker:容器引擎
Kubernetes:容器调度
SonarQube:代码静态扫描
Harbor:制品库
Nexus:制品库
TestLink:测试管理
Jmeter:压测工具
Selenium/RobotFramework:UI自动化测试
Mattermost:是一款易于使用、经过简化且可扩展的团队通信和企业消息传送系统。
二、
DevOps 的工具链DevOps中包括版本控制&协作开发工具、自动化构建和测试工具、持续集成&交付工具、部署工具、维护工具、监控,警告&分析工具等等,补充了一些国内的服务,可以让你更好的执行实施 DevOps 工作流。
版本控制&协作开发:GitHub、GitLab、BitBucket、SubVersion、Coding、Bazaar
自动化构建和测试:Apache Ant、Maven 、Selenium、PyUnit、QUnit、JMeter、Gradle、PHPU ...
GO语言相关命令
下载包 go get-x :下载依赖包,并显示执行的命令
构建 go build-n :显示构建过程的命令,但不执行-x :显示执行构建的命令-o :构建输出可执行文件
1go build -o app
运行1go run .
包依赖1go mod tidy && go mod vendor
如果遇到以下问题,则是由代码中引入的package地址与项目的git仓库不一致导致的。例如:代码中引入package github.com/coreos/prometheus-operator/pkg/client, 但它的git仓库是github.com/prometheus-operator/prometheus-operator/pkg/client,在执行go mod tidy则会报错:
1234go: example.com/operator imports github.com/coreos/prometheus-operator/pkg/client/versioned: github.com/coreos/prometheus-operator ...
Go语言语法
顺序编程变量12345678910var v10 intv10 = 123v11 := 234// 匿名变量示例func GetName() (firstName, lastName nickName string) { return "May", "Chan", "Chibi"}_, _, nickName := GetName()
常量iota是一个特殊的常量,它会在每一个const关键字出现时重置为0,然后在下一个const出现前,每出现一次iota,它代表的值加1。如果两个const的赋值语句表达式一样,后一个赋值可省略。
12345const ( c0 = iota c1 = iota c2)
枚举12345678910const ( Sunday = iota Monday Tuesday Wednesday Thursday Friday Saturday numberOfDays)
类型
布尔:bool
整型:int8、byte、int16、int、uint、unit ...
Go-常用设计模式
1. 单例模式:12345678910111213141516171819package singletonimport ( "sync")type singleton struct {}var ins *singletonvar once sync.Oncefunc GetInsOr() *singleton { once.Do(func() { ins = &singleton{} }) return ins}
2. 简单工厂模式12345678910111213141516type Person struct { Name string Age int}func (p Person) Greet() { fmt.Printf("Hi! My name is %s", p.Name)}func NewPerson(name string, age int) *Per ...