devops
文章平均质量分 59
devops实践
oneslide
时代是浮躁的,心之所向,日积月累,愈久弥坚,大器晚成。
展开
-
Jenkins 美化控制台日志输出
参考:https://plugins.jenkins.io/ansicolor/系统管理->插件管理->可选插件->搜索插件AnsiColor。原创 2023-04-18 15:11:34 · 539 阅读 · 0 评论 -
make quick-example I: 变量语法 & 变量插值
cmake变量语法和变量插值原创 2022-09-29 10:21:00 · 283 阅读 · 0 评论 -
Github Action 一键部署Flask 应用
flask github action快速构建原创 2022-09-20 17:09:11 · 1140 阅读 · 0 评论 -
使用.dockerignore加速你的构建
docker ignore原创 2022-09-16 18:09:15 · 518 阅读 · 0 评论 -
fatal: unable to commit credential store: Device or resource busy
jenkins 带git证书,执行git命令原创 2022-07-22 11:33:39 · 1182 阅读 · 0 评论 -
docker多架构镜像
docker 多芯片架构镜像原创 2022-07-15 10:33:34 · 894 阅读 · 0 评论 -
分享一个很香的k8s.gcr.io Docker镜像拉取方法
k8s.gcr.io拉取镜像原创 2022-07-07 17:30:49 · 1881 阅读 · 0 评论 -
如何制作一个简单的Web终端
概括web终端可以在浏览器上模拟xshell的功能,本文源代码在Github: How to create a simple web terminal效果如下所示:架构现在的web终端基本都是基于xterm.js开发的。xterm是一个前端的终端组件。web终端的实现是客户端-服务器架构:通信协议客户端和服务器之间使用的是websocket协议服务器通过本地fork一个bash或者powershell进程,充当传话筒角色数据结构服务器会维持一个,客户端的<socketId,原创 2022-03-29 14:26:04 · 3221 阅读 · 2 评论 -
分布式jenkins
搭建jenkins集群,水平扩展增加负载能力。使用kubernetes 插件:https://www.jenkins.io/doc/book/scaling/scaling-jenkins-on-kubernetes/这种方式是kubernetes动态创建pod来作为jenkins从节点(jenkins agent)原创 2022-02-16 17:51:37 · 369 阅读 · 0 评论 -
DevOps
devops是一种开发文化,将开发,运维,QA(Quality Assurance)统一起来形成的一整套流程和规范。拥抱DevOps并不需要巨大技术变革,而是将合理的原则,价值观适应到企业的真实需求。DevOps PrinciplesDevOps是包含了多方协作,分享,透明开放,统筹全局等精神的一种价值观,一种做事情的哲学。同时基于综合策略和方法论,保证软件保质保量的及时交付。增量发布在devops概念兴起之前,团队需要等待部署代码,代码发布被拖延通常会导致“合并地狱”,开发者需要等待很长时原创 2021-10-29 15:50:55 · 111 阅读 · 0 评论 -
Ansible
简单记录ansible怎么使用简单的说,Ansible就是一个自动化工具,你写一个编排文件告诉它在那些主机 ?做什么事情?。用python写的一个多主机批量执行命令的工具。当然,得告诉它ssh用户名密码。inventory文件这个就是主机列表,可以对主机分组,接受yaml和ini两种格式。/etc/ansible/hosts# group名,默认为all[groupa]# ip username password192.168.10.8 ansible_user=root ansibl.原创 2021-08-04 09:55:25 · 104 阅读 · 0 评论 -
自动化接口测试--postman方式
自动化接口测试的目的首先是保证能够测试出接口是否是正确的。这引申了一个问题,什么响应可以认为接口是正确的?假如接口不正确,如何在测试报告中体现出来这些信息,可以帮助开发人员修改?上面只是满足了接口测试的需求,自动化接口测试额外增加了"自动化"的需求。这又额外引申了几个问题:开发人员以什么样的方式提供测试接口的信息?自动化工具如何使用这些接口信息进行自动化测试?本篇手记记录我的自动化测试探索之路,CI/CD要接入自动化接口测试阶段。现在有很多种方式:python + unitTest原创 2021-05-11 10:09:58 · 1001 阅读 · 4 评论 -
Jenkins集成SonarQube静态代码扫描工具
1. 安装插件:SonarQube Scanner2. 配置sonarQube证书SonarQube随便填点东西,生成证书:Jenkins系统管理->添加证书:填地址和刚写的secret ID:原创 2021-04-29 09:59:04 · 824 阅读 · 2 评论 -
Jenkins Pipeline Script
yaml文件name: helloaddress: street: xxxxdescription: xxxxxmaintainers: oneslidetype: nonemodules: - name: module-1 value: xxx - name: module-2 value: xxx读取代码: stages { stage('read-yaml') { steps { sc原创 2021-04-27 16:44:12 · 754 阅读 · 0 评论 -
Nexus 配置yum私库
文章目录前序base私库地址的配置规则epel-releaseonlinelocal让nexus私库缓存你的rpm包前序原来的文章已经记录过如何创建私库等操作,这篇文章直接讲重点。有需要的可以参考:Nexus Maven Repositoriesbasebase库我使用的是阿里源可以看到remote-storage是: http://mirrors.aliyun.com/centos 。这个可以去先在下载镜像源,在xxx.repo里的baseurl字段中可以看到。私库地址的配置规则配原创 2021-04-26 11:57:28 · 1665 阅读 · 0 评论 -
Jenkins发送email至腾讯企业邮箱 Pipeline方式
腾讯企业邮箱设置jenkins1. 安装Email Extension Plugin2. 配置管理员邮箱系统配置-> Jenkins Location管理员邮箱将作为发送人3. 配置smtp验证一般你需要选择一个smtp服务器,负责发送你的邮件。选择 系统配置->Extended E-mail Notification4. 通过pipeline发送邮件1. declarative pipelinepipeline { agent any enviro原创 2021-04-25 17:37:39 · 2181 阅读 · 0 评论 -
GNU make
linux编译c文件成可执行文件一般都会用make.比如用源码方式编译redis,你使用make && make install就会生成redis-cli等二进制文件。make的目的就是使软件安装者不需要知道某个软件安装细节,仅仅通过上面的命令就可以安装成功。而核心语法就是下面这条:<target> : <prerequisites> [tab] <commands>我们不生产编译工具,我们只是编译工具的搬运工。不像mvn那样,我就可以原创 2021-01-21 18:29:34 · 173 阅读 · 0 评论 -
Jenkins Plugin & Pipeline
执行远程Shell命令和文件拷贝todo离线Plugin 安装插件hpi文件可以去 http://updates.jenkins-ci.org/download/plugins/ 下载。插件可能会依赖其他插件,去找依赖的插件也上传上去。原创 2020-09-04 23:31:12 · 352 阅读 · 0 评论 -
Jenkins REST API
Token点击用户小头像,设置API token.之后使用Postman采用basic auth方式,输入用户名和token.credentials创建证书路径:# 样例路径 http://192.168.10.3:8080/user/oneslide/credentials/store/user/domain/_/createCredentials<path to context>/credentials/store/<store id>/domain/<d原创 2020-08-31 23:06:54 · 1097 阅读 · 1 评论 -
服务部署模式
多服务实例,专用VM部署需要运行多个实例的服务,每个实例会部署到一个专用的VM上。这些VM是通过IaaS层动态的供应,开源的产品当然是OpenStack了。OpenStack可以创建VM,为VM分配存储,IP和CPU,另外VM还可以通过从现成的镜像创建。这种方式相比物理机部署方式的优点是,可以限制每个服务实例的资源使用比例,同时提供了完全隔离。缺点是每个服务实例都要运行于一个完整OS上,资源耗费高。基于容器的部署方式容器部署方式相比VM方式消耗资源更低,同时具备资源配额和隔离的优点。另外,Do原创 2020-08-25 23:30:48 · 737 阅读 · 0 评论 -
CI/CD产品需要考虑的问题
用户如何接入?CI/CD系统需要的配置文件放在那里?现在通用的方式是将CI/CD配置文件放在git项目的根目录。这样做有两条好处:CI/CD配置文件能够跟随git仓库的代码一起迭代。比如master分支有多个tag, tag v1.0.0的代码有对应集成交付tag v1.0.0版本代码的CI/CD配置文件。我只要把master tag v1.0.0版本的代码下载下来就可以解析配置文件去做CI/CD了。普通用户的学习成本降低现状是:运营团队和运维团队必须像开发团队一样熟悉 CI/CD 工具原创 2020-07-30 17:20:51 · 357 阅读 · 0 评论 -
Nexus Python Repository
创建私库创建托管私库。上传whl测试下载jar包:pip install -i http://192.168.10.4:8081/repository/ci/simple pymysql==0.9.3 --trusted-host 192.168.10.4或者一劳永逸,写个配置文件:[root@localhost .pip]# cat ~/.pip/pip.conf [global]index-url = http://192.168.124.32:8081/repository/t原创 2020-07-24 23:42:55 · 458 阅读 · 0 评论 -
Nexus Maven Repositories
文章目录Maven私库格式Version policy--版本策略ReleaseSnapshotMixedLayout policy-- 结构策略私库结构Settings.xml项目如何发布到私库?Reference ListMaven私库格式maven规定了一个仓库标准,Central仓库是最大的Maven在线仓库,它遵守Maven仓库标准用于很多开源项目的发布。Version policy–版本策略Release发布稳定版本的jar包,maven central用的是这种。Snapshot转载 2020-07-22 22:33:54 · 1036 阅读 · 0 评论 -
GitFlow -- 规范的git分支管理模型
Gitflow工作流git作为协同开发工具广泛用于业界代码管理。使用git的开源社区通过实践总结出规范的工作流(gitflow workflow)。功能分支和主分支功能分支(develop分支)是版本迭代中集成新功能的分支,也就是CI流程全部发生在develop分支,其他功能分支(feature branch)也是向develop分支合并。hotfix branch尽管测试是十分充分的,当develop分支合并到master分支进行版本发布的时候,总会有bug。因此,这个时候,才会从master原创 2020-06-13 10:06:29 · 757 阅读 · 0 评论 -
Jenkins动态参数
pipeline { agent any parameters { // Boolean值 booleanParam(defaultValue: false,description: 'test run?', name: 'testRun') // 下拉列表,默认值是第一个 choice(choices: 'Windows-1\nLinux-2', description:'Which platform?', name: 'platf原创 2020-06-10 22:18:39 · 4497 阅读 · 2 评论 -
如何触发Jenkins构建任务
文章目录定期构建 vs 轮询SCM定时构建轮询SCM轮询语法手动触发定期构建 vs 轮询SCM点击配置查看构建触发器章节,查看定时构建和轮询和SCM两种方式触发项目构建。定时构建定时构建就是无论怎样,一个周期触发一次构建。这种方式会导致大量计算资源浪费。会导致jenkins负载线性增高。轮询SCM一种更好的方式是让jenkins轮询git远程仓库,这里的日程表就是配置轮询的频率。下图是每10分钟(这种方式我也无法理解)轮询一次,假如远程仓库有最新提交,构建任务才会触发。一般使用正规语法,后原创 2020-06-09 13:29:19 · 1879 阅读 · 0 评论 -
第一个简单Jenkins任务
Step 1: 前提条件安装docker#!/bin/bash# docker install utilfunction installDocker() { yum install -y yum-utils device-mapper-persistent-data lvm2 yum-config-manager --add-repo https://download.docker...原创 2020-02-18 14:41:33 · 270 阅读 · 0 评论 -
Gradle Note
处理项目间依赖一个项目A的编译依赖于另一个项目B,A->B。这种关系在maven里面只有爸爸儿子关系,即是一种树形结构:但是gradle可以是一种图结构,但是不能产生循环依赖。这种项目依赖关系是可以的。...原创 2019-12-15 16:22:03 · 196 阅读 · 0 评论 -
Maven
Cheatsheetmvn clean 清理构建文件mvn clean package 重新构建并打包mvn install 纳入本地仓库mvn clean test 清理并测试mvn help:system 查看系统变量Reference Listhttps://juejin.im/post/5a4a5e2bf265da4322418d7fhttps:...原创 2019-08-15 11:00:13 · 249 阅读 · 0 评论 -
Linux部署Spring Boot Web应用
构建一个项目参考:building-spring-boot-2-projects-with-gradleXFTP上传到Linux配置防火墙firewall-cmd --zone=public --add-port=8080/http --permanentfirewall-cmd --zone=public --add-service=http --permanent运行nohu...原创 2019-09-20 16:15:24 · 251 阅读 · 0 评论 -
Gradle构建Java类库结构
Gradle是类似Maven的一种构建工具,它能够从Maven和Ivy(Apache)库中下载依赖。其通过脚本语言来定义构建项目,Gradle脚本使用的语言是Groovy(Spring总会遇到)和Kotlin(IntellJ IDEA厂商JetBrains),术语中称之为领域特定语言(简称DSL)Gradle通过命令行来暴露相关接口,当然也支持IDE创建一个项目目录,进入目录那么生成一...原创 2018-12-19 18:59:35 · 383 阅读 · 0 评论 -
IDE下导入Gradle项目
通过Import,你确实可以导入工程目录在Eclipse IDE下查看目录,不过在IDE下很多导入的依赖包并没有出现在IDE的依赖库中! 传统的方法,你可能会想到在Build Path中给Java项目引入用户库,并通过从网络上下载的依赖Jar包,导入到工程项目中,这是一个非常笨而有效的方法,不过构建工具提供了在IDE集成的API。step 1CMD进入工程目录根,并在*.gradle存在...原创 2018-04-17 13:13:30 · 1575 阅读 · 0 评论