当前位置: 首页 > news >正文

优质的做网站济南seo优化公司助力网站腾飞

优质的做网站,济南seo优化公司助力网站腾飞,怎样注册网站中文域名,中企动力北京分公司Jenkins Docker Cloud在Linux应用开发CI中的实践 背景 通过代码提交自动触发CI自动构建、编译、打包是任何软件开发组织必不可少的基建,可以最大程度保证产物的一致性,方便跨组跨部门协作,代码MR等。 Docker在流水线中越来越重要&#xff…

Jenkins Docker Cloud在Linux应用开发CI中的实践

背景

通过代码提交自动触发CI自动构建、编译、打包是任何软件开发组织必不可少的基建,可以最大程度保证产物的一致性,方便跨组跨部门协作,代码MR等。

Docker在流水线中越来越重要,已经是最关键的组成部件之一,由于容器化具有的简单性,灵活性,隔离性和部署方便的特性,使得我们可以按需定制可重复的构建环境,本文就如何使用Docker容器作为Jenkins编译节点在Linux应用开发 CI中进行了实践。

前提条件

已部署好Jenkins服务,具备CI的基础设施。

技术方案

有别于windows,macos,ios可能较多会采用虚拟机或物理机方式部署编译节点,linux 采用 docker作为编译节点,容器化方式环境隔离性好,自动容器启动与关闭,环境部署方便,较虚拟机和物理机部署更节省人力时间成本。

工作流程:

  • Jenkins master发起pipeline流程
  • 通过Remote API去连接Docker Host
  • Docker Host拉起需要的容器,作为Jenkins slave
  • 容器中执行流水线工作
  • 流水线完成,Jenkins会停止并删除容器

ps: Jenkins master 节点只负责调控,具体的构建任务下放到Docker Slave节点中去

在这里插入图片描述

Jenkins docker slave node配置实践

1、 Jenkins 安装docker插件

安装完成后配置页面会生成Configure Clouds
路径:Jenkins - Manage Jenkins - System Configuration - Manage Nodes and Clouds
在这里插入图片描述

2、 docker host配置

2.1、 doker安装
sudo apt update
sudo apt upgrade
sudo apt install docker.io
2.2、安装自定义docker镜像
  • 可以采用Dockerfile自动构建镜像,也可以手动构建,此处假定已经构建好镜像并导出:linux_x86_64_node.tar
  • 导入镜像:
sudo docker load < linux_x86_64_node.tarsudo docker images
REPOSITORY                         TAG       IMAGE ID       CREATED          SIZE
linux_x86_64_node                  latest    f2cded8e78d6   30 minutes ago   3.19GB
2.3、启用docker Remote API
  • 本地环境下,docker客户端(各种docker命令)默认通过unix域socket与docker daemon通信,但我们的场景需要跨主机访问,即jenkins服务需要访问docker host,因此需要通过配置让docker daemon把服务暴露在tcp的2375端口上,这样就可以在网络上操作docker了。
  • 修改/lib/systemd/system/docker.service,添加tcp支持
    在这里插入图片描述
  • 修改完毕后执行如下命令使其生效:
systemctl daemon-reload
systemctl restart docker.service

3、jenkins docker cloud & agent配置

路径:Jenkins > Manage Jenkins > System Configuration > Manage Nodes and Clouds > Configure Clouds

3.1、 配置docker cloud

在这里插入图片描述

3.2、配置docker agent

在这里插入图片描述

4、 jenkins查看docker容器和镜像

路径:Jenkins > Manage Jenkins > Uncategorized > Docker
此处会列出远程docker host上所有运行的容器和安装的镜像,如下:
在这里插入图片描述

值得注意的是,jenkins通过Remote API启动docker容器时会进行SSH端口映射,将SSH端口22进行映射,如上图所示,将docker agent(启动的docker容器)的22端口映射为docker host宿主机的端口58255,这样jenkins才能通过ssh访问docker agent, workspace也是建立在docker agent中。

pipeline中使用docker agent

1、 声明式

pipeline {agent { label 'master' }stages {stage('Hello') {agent { label 'lava_x86_64_node_accelerate' }steps {sh 'echo Hello World'}}}
}

2、 脚本式

pipeline {agent { label 'master' }stages {stage('Hello') {steps {script {node ("lava_x86_64_node_accelerate") {sh 'echo Hello World'}}}}}
}

值得注意的是:上面的“lava_x86_64_node_accelerate"节点就是上文Jenkins docker slave node配置实践 - 3.2、配置docker agent中的labels字段。

补充

整个pipeline流程如下:
gitlab+jenkins CI实践
在这里插入图片描述

http://www.hkea.cn/news/195266/

相关文章:

  • 网站建设共享ip宁波seo搜索引擎优化
  • 学校网站建设必要性搜索引擎排名
  • 哪里有做区块链网站的百度网址大全在哪里找
  • 加盟平台网站怎么做竞价托管多少钱一个月
  • wordpress 微信 代码网站关键词怎么优化排名
  • 网站推广维护考研培训班哪个机构比较好
  • 网站后台生成器人工智能培训班收费标准
  • 在线做app的网站武汉网络营销公司排名
  • 了解深圳网站页面设计潍坊百度关键词优化
  • 制作网站怎样找公司来帮做seo词条
  • 网络销售有哪些站长工具seo排名
  • 做房产中介网站怎么注册一个自己的网站
  • 天津网站设计成功柚米全网推广成功再收费
  • 建设公司网站靠谱吗企业网站设计制作
  • 电子商务学什么课程内容兰州搜索引擎优化
  • 沧州网站建设制作设计优化能打开的a站
  • 石家庄网站建设推广报价怎么让百度快速收录网站
  • 建设局网站上开工日期选不了制作网站需要多少费用
  • 犬舍网站怎么做网页推广怎么做
  • 镇江核酸检测最新通知如何优化网页加载速度
  • wpf入可以做网站吗竞价托管外包费用
  • 公司设计网站需要包含什么资料优化排名软件
  • 日本樱花云服务器wan亚马逊seo关键词优化软件
  • layui框架的wordpress厦门站长优化工具
  • 微网站设计尺寸培训课程总结
  • 保险平台官网湖北搜索引擎优化
  • 西安微信小程序制作公司关键词优化方法
  • 手机网站建设用乐云seo搜索引擎是什么意思啊
  • 昆明做大的网站开发公司google网页搜索
  • 做网站运营需要什么证宁波靠谱营销型网站建设