DevOps(一) Jenkins+GitLab部署和流水线基础
创始人
2024-12-28 03:09:33
0

前言:DevOps持续交付是一种软件开发和交付方法,它将开发团队和运维团队的流程和工具整合在一起,以实现更频繁、更可靠的软件交付。下面是实现DevOps持续交付的一些关键实践:

  1. 自动化构建和部署:利用持续集成/持续部署(CI/CD)工具自动化构建、测试和部署过程。这样可以确保每次代码提交都可以快速地构建、测试和部署到生产环境。

  2. 版本控制:使用版本控制系统(如Git)来管理代码,并确保团队成员能够轻松地合作、追踪变更并回滚不必要的更改。

  3. 自动化测试:实施自动化测试,包括单元测试、集成测试和端到端测试,以确保代码质量和系统稳定性。自动化测试可以在代码提交后快速运行,提供及时的反馈。

  4. 基础设施即代码:使用基础设施即代码(IaC)工具(如Terraform、Ansible)来自动化基础设施的配置和管理。这样可以确保环境一致性,并使得基础设施的部署过程可重复且可靠。

  5. 持续监控和反馈:建立监控系统来实时监测应用程序和基础设施的运行状况,并采取预防性和响应性措施来处理问题。同时,收集用户反馈和性能指标,以不断改进产品。

  6. 持续改进:定期回顾和评估团队的工作流程和实践,寻找改进的机会并采取行动。通过不断迭代和优化,实现持续改进和提升交付效率。

    在Devops实施过程中将Jenkins与GitLab结合使用是一种常见的做法,特别是在实现持续集成和持续交付(CI/CD)方面。

一、Devops基本环境部署

部署环境:centos7.6 服务两台:        jenkins	192.168.0.108	4核心8G        gitlab	192.168.0.109	4核心8G       (建议购买腾讯云2核8G轻量级服务) 

1.1: 部署jenkins

     官网地址:https://www.jenkins.io/download/      选择安装稳定长期支持版本(LTS)      sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo      sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io-2023.key      yum install fontconfig java-17-openjdk      yum install jenkins      部署完成后启动jenkins,访问端口192.168.0.108:8080,选择安装基础软件。(jenkins启动需要一定时间)            部署问题:部署过程中如出现ca报错重新安装根证书的软件包               yum install -y ca-certificates 

1.2:部署Gitlab

    官网地址:https://about.gitlab.com/install/#centos-7     sudo yum install -y curl policycoreutils-python openssh-server perl     sudo systemctl enable sshd     sudo systemctl start sshd     sudo firewall-cmd --permanent --add-service=http     sudo firewall-cmd --permanent --add-service=https     sudo systemctl reload firewalld     添加Gitlab源     curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | sudo bash     因为安装的是社区版需要修改yum源     在/etc/yum.reop/gitlab_gitlab-ee.repo文件中的gitlab-ee修改为gitlab-ce        sed -i 's/\/gitlab-ee/\/gitlab-ce/g'  /etc/yum.repos.d/gitlab_gitlab-ee.repo     安装gitlab     sudo EXTERNAL_URL="192.168.0.109" yum install -y gitlab-ce     随机密码存储在/etc/gitlab/initial_root_password         注:使用yum list gitlab-ce --showduplicates | sort -r可以查看多个版本的gitlab可自行选择安装。 

二、流水线基础介绍

 安装声名式插件Pipline: Declarative   @Library('jenkinslib') _ string workspace = "/opt/jenkins/workspace" pipeline { agent {node { label "master" //指定运行节点,any在任何节点上执行Pipline,none没指定的时候默认,label在指 定节点上运行。node可以指定额外多个选项               customWorkspace "${workspace}" //运行工作目录}}  options {      timestamps() //日志会有时间     skipDefaultCheckout() // 流水线定义中跳过默认的代码检出步骤     disableConcurrentBuilds() //禁止并行     timeout(time: 1, unit: 'HOURS')  //流水线超时设置1小时 }   //stages(可添加多个阶段)此处添加GetCode、Build、CodeScan三个阶段 stages {     //下载代码     stage("GetCode"){ //阶段名称         steps{   //步骤             timeout(time:5, unit:"MINUTES"){   //步骤超市时间                  script { //获取运行代码                     println('获取代码')}}}}	        stage("Build"){         steps{             timeout(time:20, unit:"MINUTES"){                 script{                     println('应用打包')}                              }}}          //代码扫描     stage("CodeScan"){         steps{            timeout(time:30, unit:"MINUTES"){                script{                    print("代码扫描")}             }}}  //构建后操作 post {     always{   //总是执行脚本片段         script{             println("always")        }}     //currentBuild是Jenkins Pipeline中的一个特殊全局变量,代表当前正在执行的构建(build)对象     success {         script{             currentBuild.description += "\n 构建成功!"              }}     failure {         script{             currentBuild.description += "\n 构建失败!"           }}     aborted {         script{             currentBuild.description += "\n 构建取消!"           }}      }       } 

相关内容

热门资讯

黑科技辅助!wpk辅助神器(透... 黑科技辅助!wpk辅助神器(透视)软件透明辅助挂(本来是真的有挂)-哔哩哔哩是一款可以让一直输的玩家...
5分钟了解“创思维正版辅助器下... 5分钟了解“创思维正版辅助器下载”详细透视开挂辅助安装-哔哩哔哩;一、创思维正版辅助器下载有挂的是的...
两分钟科普!wpk真吗,哈糖大... 两分钟科普!wpk真吗,哈糖大菠萝可以开挂吗,曝光教程(发现有挂)-哔哩哔哩哈糖大菠萝可以开挂吗辅助...
第一分钟了解(昆仑大厅)外挂辅... 第一分钟了解(昆仑大厅)外挂辅助插件(透视)详细教程(2022已更新)(哔哩哔哩);亲真的是有正版授...
黑科技辅助!wpk俱乐部长期盈... 黑科技辅助!wpk俱乐部长期盈利打法(透视)软件透明挂黑科技(切实存在有挂)-哔哩哔哩;1、让任何用...
第6分钟了解“功夫川嘛辅助器”... 第6分钟了解“功夫川嘛辅助器”详细透视开挂辅助器-哔哩哔哩;人气非常高,ai更新快且高清可以动的一个...
第五分钟辅助!xpoker辅助... 第五分钟辅助!xpoker辅助,德州透视插件,攻略教程(有挂方法)-哔哩哔哩德州透视插件辅助器中分为...
两分钟了解(皮皮跑胡子)外挂透... 两分钟了解(皮皮跑胡子)外挂透明挂辅助工具(辅助挂)透明挂教程(2020已更新)(哔哩哔哩);皮皮跑...
黑科技辅助!微扑克可以加入俱乐... 您好,微扑克可以加入俱乐部这款游戏可以开挂的,确实是有挂的,需要了解加微【136704302】很多玩...
8分钟了解“掌中乐游戏中心辅助... 8分钟了解“掌中乐游戏中心辅助器”详细透视开挂辅助脚本-哔哩哔哩;1、这是跨平台的掌中乐游戏中心辅助...