jenkins快速入门,自动构建一个hello world项目(devops,ci/cd)_机智的程序员小熊-程序员宝宝

技术标签: devops  CI/CD  jenkens  

jenkins是一个非常老牌的ci/cd工具,它是一款使用Java写的开源自动化应用。可以通过界面或Jenkinsfile告诉它执行什么任务,何时执行,理论上,可以让它执行任何事,一般用来做ci/cd(开发只用关心代码实现,提交代码以后自动测试、打包、自动发布)可以说体量稍微大一点的团队都有自己的持续集成工具。

安装

我使用的是docker安装测试,其中~/Documents/code/jenkins/这个目录需要替换成你自己的,因为把目录挂载了出来,所以即使容器销毁也不会导致数据丢失。

mkdir jenkins-data
docker run \
  -u root \
  --name jenkins \
  -d \
  -p 8080:8080 \
  -p 50000:50000 \
  -v ~/Documents/code/jenkins/jenkins-data:/var/jenkins_home \
  -v /var/run/docker.sock:/var/run/docker.sock \
  jenkinsci/blueocean

安装方法非常简单,其他安装方法以及安装完怎么配置见官网文档, 因为官方网站速度比较慢,可以先不安装插件后期改完镜像源再安装。

更新镜像源

进入 Manage Jenkins > Manage Plugins > Advanced,在这里可以手动上传插件包,也可以更新其他镜像源,然后Submit,再点击右下角Check now

附:清华大学镜像源
https://mirror.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

PS:我用了镜像源还是卡慢,网上找遍了也没找到好的办法,最后还是翻出去下的。

安装插件

还是在此页面,仅安装pipeline插件,这个插件就是构建用的核心插件,jenkins会自动解决安装插件时的依赖问题,安装完重启jenkins

创建项目

1、 左上角 New item 按钮
2、 输入项目名,选择流水线,提交

流水线

3、直接拉到下面,填入以下内容然后保存

pipeline {
    agent any

    stages {
        stage('build') {
            steps {
                echo 'hello world!'
            }
        }
    }
}

代码解释:

  • jenkins使用的是Groovy这种编程语言,常用的是声明式语法
  • 上面代码中pipeline实际上是一个函数,只是省略了小括号pipeline({}),中间是传入参数,大括号包着的是一个匿名的函数(闭包),这个函数里面的内容就是函数体,又调用了agent函数和stages函数
  • stages函数传入的是stage函数列表表示不同的构建阶段,此处只有build阶段
  • steps又表示不同的步骤

4、在项目详情页面立即构建

5、可以点击#1查看刚刚的构建

6、点这里可以看到输出历史

界面重点功能介绍

总结

  • 官网文档安装 jenkins
  • 安装插件位置 Manage Jenkins > Manage Plugins
  • 初始安装pipeline插件即可
  • 整个构建流程:获取源代码(凭据、github 等接入源、用户权限、绑定触发动作)-根据pipeline描述步骤开始测试、构建、发布以及构建成功与否的通知

最后尽量还是自己动动手试一下,才能更好的学会这个东西。

引用

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/BTnode/article/details/107009395

智能推荐

java加注释的快捷键是什么_eclipse注释的快捷键是什么?_诺北的博客-程序员宝宝

eclipse注释的快捷键是:1、“Ctrl+/”快捷键,被选代码会被“//”注释掉;2、“Ctrl+Shift+C”快捷键,被选代码会被“//”注释掉;3、“Ctrl+Shift+/”快捷键,被选代码会被“/*”和“*/”包围,并注释掉。eclipse注释的快捷键方法一:使用Ctrl+/快捷键第1步:在Eclipse中拖动鼠标,选中需要注释的代码,通常为连续多行代码。第2步:按住Ctrl+/快捷...

2021-04-22_WintopayHYC的博客-程序员宝宝

2D通道和非3D通道是完全不一样的!说到这里,顺便讲一下3D通道是什么吧:是指消费者在付款过程中,除了使用到密码,还需要提供一个验证码。而非3D通道就使用到密码,不需要提供验证码的。有些商户会把2D和非3D混淆,这两者是完全不一样的,而且2D早就被淘汰掉了,基本不存在。非3D支付通道过程,在消费者付款的时候,只需要填写他的卡号、日期、cvv、联系方式、地址等就可以完成付款了,需要验证码再次验证的,是3D通道。...

http协议各版本差异_想名真难的博客-程序员宝宝_http协议版本

http协议各版本差异一、http协议介绍 http(Hypertext transfer protocol)超文本传输协议,它是互联网上应用最为广泛的一种网络协议,工作在应用层。二、http协议发展 http协议目前有4个版本,其中1.0、1.1版本在互联网上被广泛使用,2.0版本目前应用很少,是下一代的http协议。 http/0.9版本:1991...

android共享元素动画监听,Android转场动画——共享元素_胡文燕的博客-程序员宝宝

个人博客:haichenyi.com。感谢关注这个东西其实很简单,我这里只是做一个简单的记录。XML代码如下:xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"androi...

python程序设计从基础到开发课后题答案夏敏捷_[转载] python程序设计应用教程夏敏捷答案第八章_Python程序设计:从基础到开发..._185749的博客-程序员宝宝

参考链接: 用Python设计键盘记录器基础篇第1章Python语言介绍1.1Python语言简介1.2安装与配置Python环境1.2.1安装Python1.2.2运行Python1.3Python开发环境IDLE简介1.3.1IDLE的启动1.3.2利用IDLE创建Python程序1.3.3IDLE常用编辑功能1.3.4在IDLE中运行和调试Python程序1.4Python基本输入/输出1....

计算机组成与原理第三章答,计算机组成与原理第三章答案.doc_李铁根的博客-程序员宝宝

《计算机组成与原理第三章答案.doc》由会员分享,提供在线免费全文阅读可下载,此文档格式为doc,更多相关《计算机组成与原理第三章答案.doc》文档请在天天文库搜索。1、第三章3.1十进制数化成地进制数和八进制数(无法精确表示时,二进制数取3位小数,八进制取1位小数)。7+3/4,±3/64,73.5,725.9375,25.34解:(1)、(7+3/4):(7)10=(111)2(3/4)10...

随便推点

linux 源码安装node 9,如何在Linux下源码安装node.js_侯麦喝咖啡的博客-程序员宝宝

【我所認知的BIOS】—>PCI 的中斷(PIC下)【我所認知的BIOS】—>PCI 的中斷(PIC下)LightSeed2009-5-131、PCI中斷概述注:整篇都是討論在PIC(8259)下的中斷過程。當PCI設備插到主板上後(本來南橋裏含有的當然就不用插啦),它要和其他設備通信,或者讓CPU幫它做這般這般,或者CPU讓它做那般那般等等。。。那麼他們究竟是怎麼通信的呢?這...L...

怎么知道手机的名字用计算机,如何根据中文手机号码检查姓名?通过人肉检查属性/个人信息和ID..._尸姐的博客-程序员宝宝

2018年1月31日文章目录如何根据中文手机号码检查姓名?通过人肉检查属性/个人信息和过去,陈一良有一个朋友,他被一家微型企业骗了. 朋友只知道微商骗子的手机号码.朋友们希望通过检查中文手机号码中的骗子姓名和ID来了解有关骗子的更多信息.所以,我问: 如何用我的中文手机号码检查我的姓名和?电子商务今天得到发展. 我们生活在一个可以在任何地方进行支付的世界. 每个人还可以通过手机相互联系,或通过电话...

java jni技术_JNI技术简介_Bosie小姐的博客-程序员宝宝

JNI(Java Native Interface)提供一种Java字节码调用C/C++的解决方案,JNI描述的是一种技术。NDK(Native Development Kit)Android NDK 是一组允许您将 C 或 C++(“原生代码”)嵌入到 Android 应用中的工具,NDK描述的是工具集。 能够在 Android 应用中使用原生代码对于想执行以下一项或多项操作的开发者特别有用:在...

如何用优盘安装服务器操作系统,使用优盘安装服务器_胡文燕的博客-程序员宝宝

使用优盘安装服务器 内容精选换一换本节定义了云耀云服务器上报云监控的监控指标的命名空间,监控指标列表,各项监控指标的具体含义与使用说明,用户可以通过云监控检索云耀云服务器服务产生的监控指标和告警信息。SYS.ECS对于不同的操作系统、不同的云耀云服务器类型,支持的监控指标有所差异,具体如表1所示。其中,√表示支持,×表示不支持。对于部分监控指标,需云服务器使用的镜像安装vISO是一种光盘映像文件,...

苹果电脑python读取csv_python读取CSV文件_Kimgoeunlaogong的博客-程序员宝宝

python中有一个读写csv文件的包,直接import csv即可。利用这个python包可以很方便对csv文件进行操作,一些简单的用法如下。1. 读文件csv_reader = csv.reader(open('data.file', encoding='utf-8'))for row incsv_reader:print(row)例如有如下的文件输出结果如下['0.093700','0.13...

台式计算机内存多大算好些,台式机加内存怎么加?加多大内存合适_热带汽水的博客-程序员宝宝

在日常生活工作中,我们是经常使用电脑的,每当电脑变慢的时候,我们就会加装内存条,这是因为内存条的性能对计算机的影响是非常大的,所以大家在购买电脑的时候,一般都会询问内存的大小。那么,大家知道内存的容量有多大吗?台式机加内存的方法是怎样的呢?下面就一起来看看吧。台式机加内存的方法是怎样的什么是内存内存是计算机中重要的部件之一,它是外存与CPU进行沟通的桥梁。计算机中所有程序的运行都是在内存中进行的,...

推荐文章

热门文章

相关标签