平台解决的问题:1 、复杂功能的逐步发布当开发一个复杂的功能时,传统的开发方式可能需要等到功能完全开发完成后才能进行发布。这可能导致较长的开发周期和较高的风险。使用 feature flags ,可以将功能分成较小的模块,并逐步在应用程序中启用。这样可以减少开发风险,更快地将功能交付给用户。2 、风险管理和回滚在传统的开发流程中,如果新功能引入了问题或用户反馈不佳,可能需要回退整个应用程序版本或进
cert-manager使用问题记录
gitalb-runner
Jenkins 2 流水线核心语法参考链接https://gitbook.cn/books/5e42ab341cd0a1288a873070/index.html Jenkins联动码云自动匹配分支进行构建流水线参考链接https://www.cnblogs.com/coolops/p/12793385.htmlJenkins流水线实践参考链接https://blog.ct99.cn/2020/0
Jenkins Pipeline是一套插件,支持将连续输送Pipeline实施和整合到Jenkins。Pipeline提供了一组可扩展的工具,用于通过PipelineDSL为代码创建简单到复杂的传送Pipeline。 对于单个项目来说,使用这样的Pipeline来构建能够满足绝大部分需求,但是这样做也有很多缺陷,包括:多个项目的Pipeline打包脚本不能公用,导致一个项目写一份脚本,维护比较麻烦
在项目迭代的过程中,不可避免需要进行项目上线。上线对应着部署或者重新部署,部署对应着修改,修改则意味着风险。目前有很多用于部署的技术,有的简单,有的复杂,有的得停机,有的不需要停机即可完成部署。本文将对目前常用的部署方案做一个简单的总结。蓝绿发布(Blue/Green Deployment)1. 定义蓝绿部署是不停老版本,部署新版本然后进行测试。确认OK后将流量切到新版本,然后老版本同时也升级到新
noVNC是一个HTML5 VNC客户端,采用HTML5 websockets、Canvas和JavaScript实现,noVNC被普遍应用于各大云计算、虚拟机控制面板中,比如OpenStack Dashboard 和 OpenNebula Sunstone 都用的是 noVNC。前面说了 noVNC 采用 WebSockets 实现,但是目前大多数 VNC 服务器都不支持 WebSockets,
脚本模板化在这个过程中或许你已经发现,上面写的脚本,每次创建不同业务的虚拟机的时候,需要在不同的脚本中去找参数进行修改,这样有一些麻烦,那么有没有办法把脚本模板化呢,答案当然有。Terraform配置支持变量,具体介绍参考这里 https://www.terraform.io/docs/configuration/variables.html有了变量后,我们把配置中常变更的属性值定义成变量集中放到
基础架构自动化编排工具Terraform安装与使用踩坑记录参考链接https://blog.csdn.net/u011220960/article/details/89704619 terraform模块架构参考链接https://www.jianshu.com/p/e0dd50f7ee98
有一个需求,每次服务更新发布时,要拉取不同版本的 Docker 镜像来启动,这里就涉及到一个问题:如何传递 Docker 镜像版本号的问题。线上环境是用 saltstack 发布的,问题就变成了:如何从命令行传递参数到 state sls 文件中的变量。可以从命令行传递 pillar 变量解决。示例如下:1、startup.sh 脚本中定义 jinja 变量 {{ version }},用以区分不
salt常用命令、模块、执行参考链接https://www.cnblogs.com/davygeek/p/7754207.html
WebSSH2使用
1、这种情况是可以的,只有一个 deploy.sls 时,appname 可以传递给 /data/apps/{{ appname }}// deploy.sls {% set appname = 'foo-service' %} app-config-dir: file.directory: - name: /data/apps/{{ appname }} # --> 得到值为
我之前的博客《Jenkins 多分支构建》及《Jenkins 多分支构建中的邮件配置》探索了在多分支构建中Jenkinsfile的配置。然而在我的配置中,根节点为node,但里面却没有使用Jenkinsfile的DSL去声明构建的流程,而是通过groovy代码去实现整个的构建逻辑,用try-catch处理构建失败的问题,看起来很混乱。并且,整个构建本来有拉取并检出代码、构建、发布这几个阶段,但是在
SonarQube 介绍SonarQube 是 一个开源的代码质量分析平台,便于管理代码的质量,可检查出项目代码的漏洞和潜在的逻辑问题。同时,它提供了丰富的插件,支持多种语言的检测,如 Java、Python、Groovy、C、C++等几十种编程语言的检测。它主要的核心价值体现在如下几个方面: 检查代码是否遵循编程标准:如命名规范,编写的规范等。 检查设计存在的潜在缺陷:SonarQu
本节内容:迭代模板(JInjia2相关)Jinja2相关一、迭代当有需要重复性执行的任务时,可以使用迭代机制。其使用格式为将需要迭代的内容定义为item变量引用,并通过with_items语句来指明迭代的元素列表即可。例如:- name: add several users user: name={{ item&n
从Git 版本库的初始化,通常有两种方式:1)git clone:这是一种较为简单的初始化方式,当你已经有一个远程的Git版本库,只需要在本地克隆一份例如:git clone git://github.com/someone/some_project.git some_project 上面的命令就是将'git://github.co
Apollo(阿波罗)是携程框架部门研发的开源配置管理中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性。Apollo支持4个维度管理Key-Value格式的配置:application (应用)environment (环境)cluster (集群)namespace (命名空间)同时,Apollo基于开源模式开发,开源地址:ht
初始salt-syndicsalt-syndic如果大家知道zabbix proxy的话那就可以很容易理解了,syndic的意思为理事,其实如果叫salt-proxy的话那就更好理解了,它就是一层代理,如同zabbix proxy功能一样,隔离master与minion,使其不需要通讯,只需要与syndic都通讯就可以,这样的话就可以在跨机房的时候将架构清晰部署了salt-syndic的部署htt
在用saltstack 安装软件时针对不同的主机不用的配置文件来设置变下面是安装nxlog日志软件部署时针对不同的主机传入不同的变量参数配置下面是sls文件的变量设定位置jinja运行命令如果是多个变量 可在运行命令输入对应多个的变量及参数
本文中用的top.sls/srv/salt/top.sls test: 'minion1': - file创建1. 空文件/srv/salt/test/file.sls /tmp/a.txt: file.managed2. 根据模板文件生成文件/srv/salt/t
saltstack使用jinja2增加了pillar模块pillar功能是帮助用户自定义一些变量,对于书写state file带来很大便利,同时增加了任务的隐藏性使用方法:在state file根目录同级目录建立pillar目录,书写sls配置文件pillar同样适用yaml格式,只需指定键值即可,其top.sls与state file一样。在state file中使用pillar: 在
根据具体环境情况判定安装salt版本基础环境redhat6.7,选择salt版本2016.11.9版本测试yum源IP: 172.17.25.16测试应用服务器IP: 172.17.25.20获取https://repo.saltstack.com/yum/redhat/6.0/x86_64/2016.11/ 安装包到本地仓库操作步骤一、安装createrepo包  
Saltstack异步执行命令salt执行命令有时候会有超时的问题,就是命令下发下去了,部分主机没有返回信息,这时候就很难判断命令或任务是否执行成功。因此,salt提供异步执行的功能,发出命令后立即返回一个jid。然后我们就可以根据这个jid来查询任务是否执行成功。命令行实现异步参数--async,返回job ID,根据job ID我们可以查询执行结果。salt --async 
ansible 在没有把密码写到对应主机时,可通过-k参数添加密码来运行模块模块运行 -K 密码playbook 加参数-k 密码运行
之前部署了Gitlab的代码托管平台和Jenkins的代码发布平台。通常是开发后的代码先推到Gitlab上管理,然后在Jenkins里通过脚本构建代码发布。这种方式每次在发版的时候,需要人工去执行jenkins上的构建动作,有时显得过于繁琐。于是就想到了Gitlab的Webhook功能,通过Webhook的相关设置,可以实现代码Push后,自动去触发jenkins上的构建动作,这样就不需要人工干预
一. cp.get_file实现从master端复制文件到minion服务器的文件中cp.get_file 1. 修改/etc/salt/master ,指定server 工作的根目录 file-roots: - base:
背景: 公司有多个部门,有一些机器有本部门的业务,这些机器也有其他部门的业务,所以本部门需要一个master服务器来管理这批机器,其他部门也需要一个master服务器来管理这个机器,所以就需要多个master来进行管理。实现: 实现方式就是所有的master服务器使用相同的private key,即我们只需要将其中一台已经配置好的master上的private key进行复制,然后拷贝到另一台
作为系统管理员,你会发现自己(现在或将来)的环境下Windows和Linux共存工作。 这不是秘密,一些大公司喜欢(或必须)在Windows机箱和其他Linux服务器上运行他们的一些生产服务。 如果是这样,您将欢迎本指南张开双臂(否则继续,至少确保将其添加到您的书签)。安装Guacamole远程桌面和SSH访问在这篇文章中,我们将向您介绍鳄梨 ,搭载Tomcat的远程
因为Saltstack自己的repo源是在国外,在国内服务器yum安装Saltstack的时候下载软件包就非常慢,很多情况下还经常下载失败,其实软件包总大小只有10M左右,如果这样安装多台minion客户端就需要耗费不少时间;当然国内也有不少EPEL源提供yum安装Saltstack,但是测试了几个,发现安装的Saltstack都不是最新版。所以,决定自己搭建一个Saltstack的repo软件源
Copyright © 2005-2025 51CTO.COM 版权所有 京ICP证060544号