找回密码
 立即注册
首页 业界区 安全 使用jenkins进行流水线编译

使用jenkins进行流水线编译

缣移双 2025-7-4 14:16:41
本文分享自天翼云开发者社区《使用jenkins进行流水线编译》,作者:赵****媛
 
一、什么是CI/CD

 
企业应用程序开发参与者通常由开发人员,测试人员/QA工程师,运维工程师以及SRE(站点可靠性工程师)或IT运营团队组成。他们紧密合作,目标是高质量软件交付。CI/CD是两个独立过程的组合:CI(持续集成)/CD(持续部署)。
 
通过CI/CD流水线,软件研发可以实现从代码签入、测试、构建和部署直至生产阶段都在流水线中向前推进。
 
本文描述如何通过jenkins实现代码的流水线编译。
 
二、镜像制作

 
在代码编译过程中,编译环境是个重要因素,有可能由于不同研发人员的机器环境有差异,导致编译失败。为了实现标准化流程,可以采用基础镜像和容器使得编译环境统一。
 
镜像制作过程与常用docker命令:
 
1. 编写Dockerfile
 
Dockerfile 是一个文本文件,包含了构建 Docker 镜像的所有指令。通过定义一系列命令和参数,Dockerfile 指导 Docker 构建一个自定义的镜像。
 
可以通过FORM命令指定该镜像基于哪个基础镜像制作,相当于拿哪一台电脑作为基础,在上面安装需要的工具。
 
2. 构建镜像
 
使用ducker build 进行镜像构建,-t后面指定nginx为镜像名称,:后面是给这个镜像打一个标签;注意最后的.代表当前目录,可以将工具的安装包和Dockerfile都放在当前文件中,默认使用Dockerfile文件,或者使用-f参数指定自定义的文件名称
 
  1. docker build -f Dockerfile -t nginx:v3 .
复制代码
 
 
3. 查看镜像
 
Docker images查看本地镜像
 
4. 推送仓库存储
 
可以使用docker push将镜像推送到harbor仓库存储,若本地镜像丢失,机器会去harbor上拉取对应的镜像
 
 
 
三、容器编译

 
通过docker run启动一个容器,在容器中使用编译命令进行编译
 
 
 
四、jenkins编写流水线

 
Jenkins是一个可以持续集成,持续交付,持续部署的自动化工具。
 
通过将脚本写到jenkinsfile中,是机器按照脚本中的命令执行各个阶段的操作。
 
Jenkinsfile由几个部分组成:
 
(1)Agent: 指定执行的节点
 
(2)Options: 运行时的选项
 
(3)Environment:定义环境变量
 
(4)Stages:阶段(具体的操作在这里完成)
 
(5)Post:构建后的操作(包含不同情况:总是、成功、失败、取消后)
 
 
 
Jenkinsfile的阶段:
 
一个流水线可以有一个或多个阶段,在每个阶段里定义步骤,步骤中编写具体的脚本。
 
  1. stages {
  2.         stage('Checkout') { //代码检出
  3.             steps {
  4.                 script {...}
  5.                       }
  6.          }
  7.          stage('Build-Package') { //编译打包
  8.              when { 设置触发条件 }
  9.              steps {
  10.                 script {...}
  11.                       }
  12.            }
  13.          stage('Upload') { //介质上传
  14.             steps {
  15.                 script {...}
  16.                       }
  17.          }
  18. }
  19. post {
  20.       success{ //成功时后续操作
  21.               script {...}
  22.       }
  23.       failure{ //失败时后续操作
  24.               script {...}
  25.       }
  26. }
复制代码
 
 
  

来源:豆瓜网用户自行投稿发布,如果侵权,请联系站长删除

相关推荐

您需要登录后才可以回帖 登录 | 立即注册