DevOps最佳实战
文章平均质量分 65
本专栏主要是提供开源DevOps工具链之间的集成和实践方式,实践思路与方法
lee_yanyi
自动化运维实践者,专注于devops领域。
座右铭:读书是门槛最低的高贵。
展开
-
DevOps系列之总体目录
DevOps系列之Jenkins运维管理实践01-Jenkins简介与应用场景 DevOps系列之Jenkins-01简介与应用场景_lee_yanyi的博客-CSDN博客 02-Jenkins安装部署 03-Jenkins配置构建节点 04-Jenkins数据目录与用户项目管理 05-JenkinsPipline出体验 06-Jenkins项目与视图配置 07-Jenkins用户权限管理 08-Jenkins凭据管理与应用 09-BlueOcean应用与实践De原创 2022-02-26 18:37:59 · 750 阅读 · 6 评论 -
DevOps系列之GitlabCI 流水线-02-GitLab流水线语法1
stages阶段原创 2022-11-19 19:48:14 · 581 阅读 · 0 评论 -
DevOps系列之GitlabCI 流水线-01GitLabPipeline组成和开发工具
GitLabPipeline组成和开发工具原创 2022-06-07 22:22:37 · 4815 阅读 · 0 评论 -
DevOps系列之Jenkins pipeline-09Jenkins共享库实践
共享库这并不是一个全新的概念,其实在编程语言Python中,我们可以将Python代码写到一个文件中,当代码数量增加,我们可以将代码打包成模块然后再以import的方式使用此模块中的方法。在Jenkins中使用Groovy语法,共享库中存储的每个文件都是一个groovy的类,每个文件(类)中包含一个或多个方法。每个方法包含groovy语句块。可以在Git等版本控制系统中创建一个项目用于存储共享库。共享流水线有助于减少冗余并保持代码整洁。具有以下三个...原创 2022-04-21 22:26:59 · 1988 阅读 · 0 评论 -
DevOps系列之Jenkins pipeline-08Groovy基础语法2
1. if语句// 在Jenkinsfile中可用于条件判断。/*定义变量参数branchName如果branchName 等于dev则打印dev,如果branchName 等于test则打印test,上面都不匹配则打印skipdeploy*/String branchName = "dev"if ( branchName == "dev" ){ println("dev....")} else if (branchName == "test"){ println("tes原创 2022-04-21 21:57:09 · 1185 阅读 · 0 评论 -
DevOps系列之Jenkins pipeline-07Groovy基础语法1
1.Groovy介绍参考文档:Groovy Language DocumentationThe Apache Groovy programming language - The Groovy Development KitGroovy是一种功能强大,可选类型和动态语言,支持Java平台。旨在提高开发人员的生产力得益于简洁,熟悉且简单易学的语法。可以与任何Java程序顺利集成,并立即为您的应用程序提供强大的功能,包括脚本编写功能,特定领域语言编写,运行时和编译时元编程以及函数式编...原创 2022-04-21 21:48:54 · 1957 阅读 · 0 评论 -
DevOps系列之Jenkins pipeline-06Jenkins核心语法4
1. 并行构建工作空间重复问题处理在开启并行构建时,如果在同一个节点下运行构建,则会在同一个目录下生成很多类似如下的文件夹,在同一个工作空间下就出现了垃圾数据。pipeline { agent any stages { stage('Hello') { steps { script { sh """ .原创 2022-03-29 16:09:15 · 1768 阅读 · 0 评论 -
DevOps系列之Jenkins pipeline-05Jenkins核心语法3
1. input 流水线交互使用场景:有些需要人工确认的步骤,例如选择部署的环境。参数解析message: 提示信息 ok: 表单中确认按钮的文本 submitter: 提交人,默认所有人可以 parameters: 交互时用户选择的参数复制粘贴到代码中运行查看运行信息发现项目暂停,点击需要输入而暂停选择部署环境点击确定,项目运行结束查看输出信息。其他输入方式:阶段视图上也可以进行选择。打开Blue Ocean也有很明确的提...原创 2022-03-29 10:03:37 · 1166 阅读 · 1 评论 -
DevOps系列之Jenkins pipeline-04Jenkins核心语法2
1.options 运行时选项## 设置保存最近的记录options { buildDiscarder(logRotator(numToKeepStr: '1')) }## 禁止并行构建options { disableConcurrentBuilds() }## 跳过默认的代码检出options { skipDefaultCheckout() }## 设定流水线的超时时间(可用于阶段级别)options { timeout(time: 1, unit: 'HOURS') .原创 2022-03-22 22:37:43 · 1287 阅读 · 0 评论 -
DevOps系列之Jenkins pipeline-03Jenkins核心语法1
声明式流水线的定义,所有的语句块都在pipeline{ }中。pipeline { //pipeline }1. agent构建节点参数:any: 运行在任一可用节点。 none:当pipeline全局指定agent为none,则根据每个stage中定义的agent运行(stage必须指定)。 label:在指定的标签的节点运行。 node:支持自定义流水线的工作目录。## 任意节点pipeline { agent any}## 指定标签节点pipelin原创 2022-03-17 22:57:59 · 1567 阅读 · 0 评论 -
DevOps系列之Jenkins pipeline-02jenkinsfile与开发工具
1. jenkinsfileJenkinsfile的是实现Pipeline as Code的核心功能。 该文件用于描述流水线的过程。以下是一个简单的实例:pipeline{ //指定运行此流水线的节点 agent { node { label "build"}} //管道运行选项 options { skipStagesAfterUnstable() } //流水线的阶段 stages{ ...原创 2022-03-14 22:40:02 · 8773 阅读 · 0 评论 -
DevOps系列之Jenkins pipeline-01简介与组成
1. 什么是pipelineJenkins的核心是Pipeline(流水线项目),实现了Pipeline As Code。即我们将构建部署测试等步骤全部以代码的形式写到Jenkinsfile中。Jenkins在运行Pipeline任务的时候会按照Jenkinsfile中定义的代码顺序执行。写Jenkinsfile是一项很重的工作,如果稍不注意很容易造成Jenkins的流水线任务失败。Jenkinsfile类似于Dockerfile,具有一套特定的语法。stage...原创 2022-03-13 21:19:53 · 1190 阅读 · 0 评论 -
DevOps系列之GitLab-06配置运行流水线2
1. GitLab CI/CD基础配置翻译成中文后阅读。1.1 通用管道1.1.1 通用管道管道权限、取消冗余管道、跳过历史部署作业;可以自定义配置文件路径, 默认实在根目录下设置git策略,超时时间,制品文件大小限制,测试覆盖率等。1.1.2管道状态可以在项目中以图标的方式展示项目运行情况。创建README.md文件可以看到流水线的运行状态1.1.3覆盖报告操作与管道状态类似。1.2Auto De...原创 2022-03-12 15:51:55 · 1621 阅读 · 0 评论 -
DevOps系列之GitLab-05配置运行流水线
1. 前期准备1.1 创建项目编写一个demo文件gitlab14版本及之后主分支为main,点击commit查看项目1.2配置runner编辑配置激活我们新创建的项目激活后保存1.3启用runner进入项目》settings》CI/CD点击展开启用runner2. 运行流水线2.1 创建gitlab-ci.yml如何开启GitLabCI/CD? 首先要将代码存储到Git...原创 2022-03-12 12:44:50 · 2149 阅读 · 0 评论 -
DevOps系列之GitLab-04GitLabRunner配置
1. runner注册配置使用1.1 获取GitLab地址和Runner注册token1.2 注册默认注册采用的交互式,需要交互填写信息。1.2.1 交互式注册# 执行注册命令[root@devops ~]# gitlab-runner registerRuntime platform arch=amd64 os=linux pid=82965 revision=3b6f852e version=14.0.0原创 2022-03-12 11:28:32 · 1630 阅读 · 0 评论 -
DevOps系列之GitLab-03GitLabRunner安装
1. GitLab Runner简介GitLab Runner是一个开源项目,用于运行作业并将结果发送回GitLab。 与GitLabCI结合使用,GitLabCI是GitLab随附的用于协调作业的开源持续集成服务。 GitLab Runner是用Go编写的,可以在Linux,macOS和Windows操作系统上运行。 容器部署需使用最新Docker版本。GitLab Runner需要最少的Docker v1.13.0。 GitLab Runner版本应与GitLab版本同步。(避免版本不一致.原创 2022-03-09 22:34:36 · 510 阅读 · 0 评论 -
DevOps系列之GitLab-02安装GitLabServer
1. rpm包方式安装1.1 下载rpm包安装下载地址:Index of /gitlab-ce/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror# 下载wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-14.8.2-ce.0.el7.x86_64.rpm# 安装rpm -ivh gitlab-ce-14.8.2-ce.0.el7.x86_64.rpm出原创 2022-03-09 21:28:53 · 351 阅读 · 0 评论 -
DevOps系列之GitLab-01CI/CD简介
特点:开源: CI/CD是开源GitLab社区版和专有GitLab企业版的一部分。国内叫极狐 易于学习: 官方具有详细的学习操作文档。 无缝集成: CI/CD是GitLab的一部分,支持从计划到部署,具有出色的用户体验。 可扩展: 可以根据需要添加任意数量的构建节点。 更快的结果: 每个构建可以拆分为多个作业,这些作业可以在多台计算机上并行运行。 针对交付进行了优化: 多个阶段,手动部署,环境和变量。相比于jenkins,gitlab具有更加完善的cicd功能。...原创 2022-03-09 21:06:14 · 559 阅读 · 0 评论 -
DevOps系列之Jenkins-09BlueOcean应用与实践
官方文档:Blue Ocean 入门安装Blue Ocean插件1. 使用Blue Ocean1.1 打开Blue Ocean可以看到一个Blue Ocean Ui页面,会显示所有的项目。1.2 打开流水线项目可以看到运行信息1.3 查看构建详情点击想要查看的信息如下展示:1.4 重运行点击重运行按钮,进行重新运行构建。2. 使用Blue Ocean创建流水线2.1 创建流水线首页,点击创建流水线...原创 2022-03-03 23:33:58 · 746 阅读 · 0 评论 -
DevOps系列之Jenkins-08凭据管理与应用
Jenkins的凭据有很多种类型,可以将一些敏感信息存储为凭据,然后在项目中引用。1. 凭据管理1.1 添加凭据凭据的类型有:用户名密码、ssh秘钥、密码文件、密码文本和证书,五种类型。其他类型的凭据可以通过下载对应的插件,进行添加。添加一个用户名密码类型的凭据,输入对应的用户名密码,ID一般都自动生成。1.2 查看凭据可以看到自动生成的id,id是唯一的。1.3 更新凭据输入需要修改的信息,点击保存即可1.4 删除凭...原创 2022-03-03 22:25:52 · 762 阅读 · 0 评论 -
DevOps系列之Jenkins-07用户权限管理
1. 安装插件插件名称 Role-Based Strategy2. 启用插件3. 管理和分配角色系统管理 >Manage and Assign Roles管理角色分为:全局角色、项目角色、节点角色。3.1 全局角色3.1.1 创建全局角色新建一个开发者角色developer。勾选对应的权限,根据实际情况进行勾选。点击保存。3.1.2 分配角色输入要授予角色的用户名:liyanyi勾选开...原创 2022-03-02 23:08:41 · 594 阅读 · 0 评论 -
DevOps系列之Jenkins-06项目与视图配置
在企业实际生产中,可能有很多项目通过Jenkins平台进行发布,就需要设计视图来分组,方便运维管理。1.视图配置1.1 点击新建视图输入视图名称,可以根据实际业务进行命名,总之要有意义。1.2 编辑视图信息输入描述信息,任务列表中可以勾选需要添加在该视图中的项目,也可以写正则表达式来进行匹配项目,如下是匹配以devops-开头的项目。devops-.*?2. 创建项目任务任务名称为:devops-app01-service、devops-app01-we...原创 2022-03-01 23:11:37 · 1438 阅读 · 0 评论 -
DevOps系列之Jenkins-05pipeline初体验
1. 安装pipline插件1.1 系统管理>插件管理1.2 插件名称:pipeline1.3 等待完成安装1.4 重启Jenkins如果重启很慢,可以手动重启,在地址后面写 /restarthttp://192.168.159.143:8080/restart1.5 查看插件2. 创建pipeline项目2.1 创建pipeline项目项目名称buildPipeline,选择流水线项目,点击确定。2.2 添加参数...原创 2022-02-28 23:52:01 · 431 阅读 · 0 评论 -
DevOps系列之Jenkins-01简介与应用场景
1.Jenkins简介与应用场景对于持续集成工具现在也有很多种选择,但是目前应用最多的基本上还是Jenkins。Jenkins是使用Java语言开发的自动化发布工具。 Jenkins是跨平台的可以在Windows、Linux、MacOS部署运行。 Jenkins是应用最广的开源免费的持续集成服务器,企业中普遍使用Jenkins来作为项目集成发布工具。 官方插件很多,使得Jenkins更加强大。目前发展已经超过15年,属于比较成熟的CI/CD工具,能够实现代码自动化集成并发布。目前普遍使用原创 2022-02-22 22:43:34 · 870 阅读 · 0 评论 -
DevOps系列之Jenkins-02安装部署
1、关于Jenkins的安装:可以使用rpm/war/docker安装; 提前安装好JDK8+环境。Jenkins采用分布式架构,分为server节点和agent节点。server节点也是可以运行构建任务的,但是我们一般主要使用其来做任务的调度。防止server节点出现单点问题。 agent节点专门用于任务的执行。随着现在容器的流行,可以将server、agent节点在容器或者基于K8S中部署。关于agent节点借助容器可以实现动态的资源分配等。agent节点可以分为静态节点和动态节点。原创 2022-02-26 17:46:09 · 833 阅读 · 0 评论 -
DevOps系列之Jenkins-03配置构建节点
安装Jenkins slave系统管理> 节点管理 > 新建节点输入节点名称输入节点详细信息节点未在线安装节点agent提示安装agent点击agent.jar 右键复制地址。安装agent#创建agent目录mkdir /data/cicd/jenkinsagent#下载agent.jarwget http://192.168.159.143:8080/jnlpJars/agent.jar运行agent...原创 2022-02-26 18:43:02 · 656 阅读 · 0 评论 -
DevOps系列之Jenkins-04数据目录与用户项目管理
1.数据目录Jenkins采用文件存储, 其配置相关信息都保存到了XML文件中。caches: 系统缓存数据 jobs: Jenkins项目作业 nodes: Jenkins slave节点信息 secrets: 秘钥信息 userContent: 类似于web站点目录,可以上传一些文件 workspace: 默认的工作目录 fingerprints: 指纹验证信息 logs : 日志信息 plugins: 插件相关配置 updates: 插件更新目录 users: jenk原创 2022-02-27 22:28:44 · 879 阅读 · 0 评论