首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏章工运维

    jenkins脚本式流水线部署k8s项目实例一

    /jenkins-app"] 三、k8s部署服务k8s.yaml文件 apiVersion: apps/v1 kind: Deployment metadata: name: jenkins-demo name: jenkins-demo env: - name: branch value: <BRANCH_NAME> 四、Jenkinsfile流水线文件 } sh "sed -i 's/<BUILD_TAG>/${build_tag}/' k8s.yaml" sh "sed -i 's/<BRANCH_NAME>/${env.BRANCH_NAME }/' k8s.yaml" sh "kubectl apply -f k8s.yaml --record" } } ----

    95931编辑于 2023-06-13
  • 来自专栏devops探索

    结合k8s和pipeline的流水线,并通过k8s接口完成镜像升级

    现在这家单位的CICD比较的混乱,然后突发奇想,想改造下,于是就用pipeline做了一个简单的流水线,下面是关于它的一些介绍 写一个简单的流水线 [1611052692.png] 大概就是这么个流程简单来说就是 :拉代码---》编译---》打镜像---》推镜像---》部署到k8s中,下面的pipeline就是在这条主线上进行,根据情况进行增加 pipeline { agent { label 'pdc&&jdk8 pipeline的异常捕获的写法是有区别的,声明式写法是用的post来进行判断,比较简单,可以参考下官方文档 另外还有一个地方使用了并行执行,同时拉了服务的代码,和构建脚本的代码,这样可以提高执行整个流水线的速度 userRemoteConfigs: [[credentialsId: 'chenf-o', url: '构建脚本的仓库地址']] ] ) } } } } 嗯,情况就是这么个情况,一个简简单单的流水线就完成了 ,如果想快速使用流水线完成CICD,可以参考下这篇文章。

    1.2K01发布于 2021-01-27
  • 来自专栏程序员

    流水线、超流水线、超标量(superscalar)技术对比

    市场上推出的各种不同的1 6位/ 3 2位微处理器基本上都采用了流水线技术。如8 0 4 8 6和P e n t i u m均使用了6步流水线结构,流水线的6步为: ( 1 ) 取指令。 当流水线完全装满时,每个时钟周期平均有一条指令从流水线上执行完毕,输出结果,就像轿车从组装线上开出来一样。 超流水线 超级流水线以增加流水线级数的方法来缩短机器周期,相同的时间内超级流水线执行了更多的机器指令。 采用简单指令以加快执行速度是所有流水线的共同特点,但超级流水线配置了多个功能部件和指令译码电路,采用多条流水线并行处理,还有多个寄存器端口和总线,可以同时执行多个操作,因此比普通流水线执行的更快,在一个机器周期内可以流出多条指令 这种将标准流水线细分的技术,就是超级流水线技术。当然,流水线和超级流 水线之间并没有很明显的区别。

    7K31发布于 2020-08-17
  • 来自专栏用户9379187的专栏

    Jenkins流水线

    一、Jenkins流水线任务介绍之前采用Jenkins的自由风格构建的项目,每个步骤流程都要通过不同的方式设置,并且构建过程中整体流程是不可见的,无法确认每个流程花费的时间,并且问题不方便定位问题。 二、 Jenkins流水线任务1. 构建Jenkins流水线任务 构建任务 构建Jenkins流水线任务 生成Groovy脚本 Hello World脚本生成 构建后查看视图 构建后查看视图2. 每次构建会自动拉取项目并且获取项目中Jenkinsfile文件对项目进行构建 配置pipeline 配置pipeline 准备Jenkinsfile 准备Jenkinsfile文件 测试效果 测试效果三、Jenkins流水线任务实现 拉取Git代码通过流水线语法生成Checkout代码的脚本语法生成pipeline { agent any stages { stage('拉取Git代码') {

    1.2K21编辑于 2022-08-24
  • 来自专栏云云众生s

    KitOps将DevOps流水线转变为MLOps流水线

    在现有 DevOps 流水线旁边构建单独的 MLOps 流水线来管理这些方面会导致一些低效率: 重复工作:维护单独的流水线意味着为版本控制、部署和配置管理等任务重复工作。 想象一下为应用程序代码管理一个 DevOps 流水线,为训练好的模型、其依赖项和配置文件管理一个单独的 MLOps 流水线。这种冗余增加了开销,并在流水线之间引入了潜在的不一致性。 jozu-ai/llama3 8B-instruct-q4_0 Meta Platforms llama3 4.1 GiB sha256:ccf9fb3d541c45a65dd99c7272a061776b8cb04d7635a5f844951b410b8ec2a7 model: name: llama3-8B-instruct-q4_0 path: . /llama3-8B-instruct-q4_0.gguf description: Llama 3 8B instruct model ... ...

    1.3K10编辑于 2024-06-24
  • 来自专栏linux技术

    jenkins流水线搭建

    lts # 获取初始管理员密码 [root@localhost ~]# cat /mydata/jenkins_home/secrets/initialAdminPassword bd5b64c7c8c8467985a0faa6fbe1848f mysql容器 docker exec -it mysql /bin/bash # 连接到mysql服务 mysql -uroot -proot --default-character-set=utf8 privileges on *.* to 'reader' @'%' identified by '123456'; # 创建mall数据库 create database mall character set utf8;

    1.8K30编辑于 2023-03-17
  • 来自专栏格物致知

    CPU流水线详解

    其实在现实生产中由于工艺水平,原料特性以及制造难度的不同,每级流水线完成任务的时间都可能是不同的,这里如果选择8s或10s为整条流水线的周期将会导致车门生产线的任务不能在单位周期内完成,也就无法及时向下一级提交任务 好,我们回到上例,厂商打算在此3级流水线上生产6辆汽车,流水线周期为12s(流水线的周期选取可参看上文),模拟流程如图1,从图上可以看到,6辆汽车一共花费了9-1=8个周期,此结果也印证了上文n个任务总共需花费 “k+(n-1)”个周期的公式,此3级流水线生产6辆汽车一共花费的时间是12*8=96s。 8s,12s,10s减半,所以新流水线的周期选取为12s/2s=6s),新流水线生产6辆汽车所花费的周期为12-1=11,所花费的整体时间为11*6=66s,相对于上例的96s提升了30s,至此,我们已从理论上和实际上找到了增加流水线级数确实可以提高工作效率的依据 2增加流水线级数为什么能提升工作效率 我们对车辆1进行跟踪测试,其在3级流水线上的生产时间为8s+12s+10s=30s,同样是车辆1在6级流水线上的生产时间为4s+4s+6s+6s+5s+5s=

    88030编辑于 2022-08-19
  • 来自专栏罗西的思考

    深度学习流水线并行Gpipe(1)---流水线基本实现

    [源码解析] 深度学习流水线并行Gpipe(1)---流水线基本实现 目录 [源码解析] 深度学习流水线并行Gpipe(1)---流水线基本实现 0x00 摘要 0x01 概述 1.1 什么是GPipe 但是流水线并行依然有一些问题: 显存效率:流水线并行减少的显存与流水线的阶段数成正比,使模型的大小可以随 worker 的数量线性扩展。但是,流水线并行不会减少每一层的激活函数的显存占用量。 像模型并行一样,增加流水线大小会减少每个流水线阶段的计算量,这会降低计算与通信的比率。如果要实现好的计算效率,流水线并行还要求其每个阶段的计算负载完美的均衡。 total) for x in histo] tf.logging.vlog(1, 'cost pct = %s', histo_pct) # histo_pct 为 [1/17,5/17,8/ the layer's cost histo_pct = [float(x / total) for x in histo] histo_pct=[1/17,5/17,8/

    2.1K20发布于 2021-08-24
  • 来自专栏程序员

    流水线、超流水线、超标量(superscalar)技术对比(转)

    流水线 流水线技术是一种将每条指令分解为多步,并让各步操作重叠,从而实现几条指令并行处理的技术。 市场上推出的各种不同的1 6位/ 3 2位微处理器基本上都采用了流水线技术。如8 0 4 8 6和P e n t i u m均使用了6步流水线结构,流水线的6步为: ( 1 ) 取指令。 超流水线 超级流水线以增加流水线级数的方法来缩短机器周期,相同的时间内超级流水线执行了更多的机器指令。 采用简单指令以加快执行速度是所有流水线的共同特点,但超级流水线配置了多个功能部件和指令译码电路,采用多条流水线并行处理,还有多个寄存器端口和总线,可以同时执行多个操作,因此比普通流水线执行的更快,在一个机器周期内可以流出多条指令 这种将标准流水线细分的技术,就是超级流水线技术。当然,流水线和超级流 水线之间并没有很明显的区别。

    2.7K20发布于 2020-08-17
  • 来自专栏k8s技术圈

    创建 Tekton 流水线

    前面我们创建的两个任务 test 和 build-and-push 都已经完成了,我们还可以创建一个流水线来将这两个任务组织起来,形成一个流水线,这里就是我们要使用的 Pipeline 这个 CRD 对象 创建流水线 比如我们这里的流水线流程为先运行 test 任务,如果通过了再执行后面的 build-and-push 这个任务,那么我们可以创建一个名为 test-pipeline.yaml 的资源对象, 13 seconds Succeeded ∙ test-pipelinerun-test-c4r9m test 46 seconds ago 8 /usr/bin/env sh docker login harbor.k8s.local docker build -t $(resources.outputs.builtImage.url tekton-demo:v0.3.0-20210617-125634 [build-and-push : build-and-push] The push refers to repository [harbor.k8s.local

    1.1K40发布于 2021-06-25
  • 来自专栏新亮笔记

    部署流水线解析

    什么是部署流水线 部署流水线是指软件从版本控制库到用户手中这一过程的自动化表现形式。 流水线的输入是版本控制中的某个具体版本。 部署流水线的相关实践 只生成一次二进制包; 对不同环境采用同一部署方式; 对部署进行冒烟测试; 向生产环境的副本中部署; 每次变更都要立即在流水线中传递; 只要有环节失败,就停止整个流水线; 提交阶段 每次提交都生成部署流水线的一个新实例。 缓解这类风险非常简单,只要把这个发布环节视为部署流水线的一个自然结果就行。 实现一个部署流水线 无论是从零创建新项目,还是想为已有的系统创建一个自动化的流水线,通常都应该使用增量方法来实现部署流水线。

    78830编辑于 2022-05-17
  • 来自专栏用户7873631的专栏

    go 流水线模式

    (out1)//全部+1后,关闭out通道. }() for v:=range out1{ fmt.Println(v) } } 解释: ,可以看到有两个goroutine构成了一个简单的流水线

    26910编辑于 2024-03-24
  • 来自专栏瓜大三哥

    HLS应用流水线

    主要对于FOR循环进行优化

    74460发布于 2018-02-26
  • 来自专栏云云众生s

    LinkedIn开源针对K8s AI流水线的交互式调试器

    译自 LinkedIn Open Sources Interactive Debugger for K8s AI Pipelines,作者 Mary Branscombe 在1990年获得智能知识系统硕士学位后 Flyte 最初由 Lyft 开发并开源,是一个专为 Kubernetes 编写的工作流编排器,专为数据和机器学习流水线设计,具有允许开发人员使用最流行的机器学习开发语言 Python 构建其工作流的接口 他在 LinkedIn 主页信息流中使用了类似于 Flyte 的大型模型:“以前,每次我们构建流水线时,我们都必须在本地拉取依赖项,我们必须等待这一过程完成。 "我们将其构建为一个组件,因为 Flyte 具有可重用组件的概念,对于其他每个用户的流水线,他们都可以选择将其作为接口或外部 API 调用。 随着领域的发展,会出现更多的量化算法,因此我们必须有一个非常灵活的平台,可以测试所有这些算法,并将它们添加到所有下游流水线都可以受益的集中式的中心中。” Zhu 表示。

    75910编辑于 2024-03-28
  • 来自专栏编舟记

    流水线即代码

    说得烂俗点,流水线已经是 CI/CD 实践过程中的“最后一公里”,让流水线变成软件开发中的“一等公民”(即代码)是大势所趋、民心所向。 这些问题会在流水线的演化过程中恶化得越来越严重。一般来讲,除非不再使用,否则流水线不会保持一成不变。 流水线自举 小结 流水线即代码是个新概念,也就意味着我们还需要花时间去探索与之相关的实践,比如,调试和测试(既然是代码就需要测试)。 一旦有了这些实践,我们就可以把流水线本身作为产品放到流水线上运作起来,那时将会看到一种很好玩的现象——旧的流水线会构建并部署新流水线,完成流水线的自举 (pipeline bootstrap) 。 此外,当流水线成为代码,它在最终的交付物中必然占据一席之地,其潜在的价值还等待我们挖掘,至少从精益的角度,流水线能做的事情还有很多。

    94930发布于 2018-08-17
  • 来自专栏希里安

    流水线使用浅谈

    ## jenkins和gitlab-ci 有读者有疑惑,为什么先用gitlab-ci而不是jenkins,我这里就来简单对比下,gitlab的流水线和jenkins的流水线。 1. 总之个人开发者或者小团队来讲可以选择gitlab的流水线足够使用,而规模大一点就根据实际选择gitlab或者jenkins流水线,结合使用。 Docker Machine (auto-scaling) Kubernetes Instance (alpha) Custom 目前一般使用ssh、hell和docker以及k8s ,简单来说就是执行远程命令、脚本、以及镜像操作和部署到k8s的作用。 所以,我们可以在同一个CI/CD流水线中,使用shell执行器构建应用,使用docker执行器部署应用。

    90510编辑于 2023-10-30
  • 来自专栏ThoughtWorks

    流水线即代码|洞见

    说得烂俗点,流水线已经是CI/CD实践过程中的“最后一公里”,让流水线变成软件开发中的“一等公民”(即代码)是大势所趋、民心所向。 ? 这些问题会在流水线的演化过程中恶化得越来越严重。 一般来讲,除非不再使用,否则流水线不会保持一成不变。 发布分支是主干分支某个时刻分出去的,它需要在那时的流水线上才能正常工作。由于前面所说雪花服务器的特征,重建这样一条流水线并不是一件容易的事情。 如何解决 其实,流水线即代码本身已经回答了这个问题。 一旦有了这些实践,我们就可以把流水线本身作为产品放到流水线上运作起来,那时将会看到一种很好玩的现象——旧的流水线会构建并部署新流水线,发生上文所说自举(bootstraping)现象,这也表明流水线是不断进化的 此外,当流水线成为代码,它在最终的交付物中必然占据一席之地,其潜在的价值还等待我们挖掘,至少从精益的角度,流水线能做的事情还有很多。

    1.7K50发布于 2018-04-13
  • 来自专栏鲲擎流水线(y20.work)

    使用二进制包安装MySQL8与Y20持续部署流水线

    通过二进制包(Generic Binaries)的方式安装MySQL8,可以清楚的了解到MySQL的安装细节:有哪些程序文件,数据库数据目录如何初始化,如何以服务方式启动,如何设置 root 用户密码等等 [client] port=3306 default-character-set=utf8mb4 4. 持续部署 通过持续部署(CD)系统,把这些步骤编排为流水线,可以在其他机器上自动完成MySQL的安装。这里我使用的是 Y20持续部署,流水线已经编排好了 Ubuntu安装MySQL 。 流水线的步骤: 下载 generic tar 安装包,解压到 /usr/local/mysql 配置 my.cnf 创建并初始化数据目录 安装、启动服务 设置 root 密码 流水线的输入变量: AGENT 安装节点 DATA_DIR 数据目录 ROOT_PASSWORD root密码 流水线的文件: my.cnf 配置文件 流水线的运行: 视频内容

    1.4K20编辑于 2022-03-15
  • 来自专栏杂烩

    Rancher流水线配置文档

    一、概述     Rancher流水线从逻辑上可以分为两部分,即CI和CD。     CI,可分化为克隆代码、代码打包、发布镜像三部分。     CD,可分为部署镜像。 二、配置     完整的流水线脚本,类似如下: stages: - name: build steps: - runScriptConfig: image: maven:3.6.0- jdk-8-alpine shellScript: mvn clean package - name: push-image steps: - publishImageConfig: 一般根据代码语言执行对应的脚本,比如java+maven是 mvn clean package 2.3发布镜像         在代码根路径下创建Dockerfile文件,内容如下: # 基于java8 FROM openjdk:8-jdk-slim # 切换到 /opt目录 WORKDIR /opt # 将编译的jar拷贝的当前目录 ADD target/baseapi.jar . # 配置启动命令(

    2.3K20发布于 2019-03-12
  • 来自专栏shigen的学习笔记

    CICD流水线实战

    先分享一下shigen的学习视频资源:CICD流水线实战git分布式版本控制器。gitlab可以创建私人的仓库,github私有仓库需要付费。SVN 不推荐! jenkins自动的构建易于安装和配置分布式构建,多台计算机一起构建支持的插件很多容器化CI/CD流程本地代码---git---jenkins---harbor----docker(k8s)部署参考文章 最后,总结一下jenkins的自动化流程的步骤:图片pipline流水线参考文章:pipeline流水线以上就是shigen最近几天学习的成果,关于CICD流水线实战的全部内容。 后期也会攻克k8s,期待进一步和大家分享。

    98720编辑于 2023-08-15
领券