ITPub博客

首页 > 云计算 > 私有云实践 > 使用jenkins进行流水线编译

使用jenkins进行流水线编译

私有云实践 作者:天翼云开发者社区 时间:2025-07-04 14:57:35 0 删除 编辑

本文分享自天翼云开发者社区《 使用 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 参数指定自定义的文件名称

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 的阶段:

一个流水线可以有一个或多个阶段,在每个阶段里定义步骤,步骤中编写具体的脚本。

stages {    
     stage('Checkout') { //代码检出      
            steps {              
               script {...}                 
                     }         
       }          
       stage('Build-Package') { //编译打包             
        when { 设置触发条件 }             
         steps {               
           script {...}                     
                    }          
       }          
       stage('Upload') { //介质上传
                    steps {         
                            script {...}    
       }         
        } 
} 
post {     
  success{ //成功时后续操作               
  script {...}   
      }     
    failure{ //失败时后续操作            
      script {...}  
           }
            }



来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70014251/viewspace-3090064/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
天翼云是中国电信倾力打造的云服务品牌,致力于成为领先的云计算服务提供商。提供云主机、CDN、云电脑、大数据及AI等全线产品和场景化解决方案。

注册时间:2022-02-22

  • 博文量
    1102
  • 访问量
    767668