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

智能推荐

SQL Server 数据恢复_angel201494的博客-程序员宝宝

配置SQL Server数据库恢复模式(2种方法)用T-SQL设置恢复模式你可以使用“ALTER DATABASE”命令加“SET RECOVERY”语句来修改数据库的恢复模式。例如,下面的查询语句把“AdventureWorks”数据库的恢复模式设置为完全恢复模式。ALTER DATABASE AdventureWorks SET RECOVERY FULL ; 你可以查

机器学习笔记5-决策树(下)_方圆猿的博客-程序员宝宝

一、前言  前一节讲述了机器学习决策树的原理,以及如何选择最优特征作为分类特征。本节主要内容:决策树构建决策树可视化(白盒模型,神经网络是黑盒模型)使用决策树进行分类预测决策树存储与读取sklearn预测隐形眼镜类型二、决策树构建**决策树生成原理:**得到原始数据集,然后基于最好的属性值划分数据集,由于特征值可能多于两个,因此可能存在大于两个分支的数据集划分。第一次划分之后,...

php 利用socket发送GET,POST请求_weixin_33769207的博客-程序员宝宝

2019独角兽企业重金招聘Python工程师标准>>> ...

JS arguments的callee属性和func的caller属性_今天也是爱大大的一天吖的博客-程序员宝宝

1.arguments.calleecallee是arguments(向函数传递的实参列表)的属性,callee指向该函数的引用(就是函数本身)function test(){ console.log(arguments.callee);}test()function test(){ console.log(arguments.callee == test);}test()在哪个函数里面的arguments就指向哪个函数的引用function test(){ console.

采用SSD1325控制器OLED的例程_hzqdgd的博客-程序员宝宝_ssd1325

SSD1325控制器一般用来驱动128*64分辨率的OLED显示模块例程如下:#include <reg52.h>#include <intrins.h>#define uchar unsigned char#define uint unsigned int#define I80#define xData P1 // Parallel Data Inp...

随便推点

Java获取本机连接过的所有WiFI密码并且以TXT文本输出文件_花伤情犹在的博客-程序员宝宝_wifi密码txt

前言本将介绍如何使用Java来获取Windows下所有连接过的WIFI密码,并且将WIFI信息以TXT文本的形式来输出文件。运行效果:WIFI信息会在控制台打印出来自动打开生成WIFI信息的TXT文本原理:本教程原理就是用Java调用cmd命令获取WIFI信息,然后使用BufferedReader来读取内容。使用readLine()进行读取字符串(注意:readLine()是一次读取一行的数据),所以需要使用循环实现读取多行数据。主要用到2条命令:netsh wlan show

java把数据从文件中读取存到数据库中_zazazazaza98的博客-程序员宝宝_java读取文件导入数据库

import java.io.*;import java.sql.SQLException;import java.util.StringTokenizer;import org.apache.commons.dbutils.QueryRunner;import cn.itcast.jdbc.TxQueryRunner;/** * TxQueryRunner是QueryRunner的子...

egrep实例总结_运维自动化&云计算的博客-程序员宝宝

◆ 过滤#号和空格命令【例一】cat httpd.conf|egrep -v "^#|#|^$" >httpd.conf.jg符号注释:-v排除;^#:表示以#符号开头; ^$表示空行【例二】cat httpd.conf|egrep -v "^#|#|^$"直接查看 ^$:加起来表示空行,$表示行尾【例三】cat /opt/nginx/conf/nginx.c...

CF984B Minesweeper_ShadyPi的博客-程序员宝宝

原题链接:http://codeforces.com/contest/984/problem/BMinesweeperOne day Alex decided to remember childhood when computers were not too powerful and lots of people played only default games. Alex enjo...

传统研发团队的敏捷转型实践之路_踏雪无痕大黄蜂的博客-程序员宝宝

在行业数字化转型加速的今天,精益敏捷、DevOps等已成为软件研发团队经常提起的热点词汇。对于软件研发而言,效率、质量是永恒的主题,提升软件研发效能的关键是要提升持续交付能力,而要构建持续交付能力,走好敏捷转型实践之路是其中非常重要的选择。然而,不同于互联网企业或产品型企业的软件研发团队,对于类似我们以项目型为主导的传统软件研发团队而言,敏捷转型这条道路并不那么好走,况且不同企业不同团队的实际情况也迥然不同,很难有可复制、可照搬的敏捷转型经验,更多时候需要结合自身实际进行持续探索并不断总结经验。之所以.

推荐!国外程序员整理的 C++ 资源大全_beyondsyq的博客-程序员宝宝

标准库C++标准库,包括了STL容器,算法和函数等。C++ Standard Library:是一系列类和函数的集合,使用核心语言编写,也是C++ISO自身标准的一部分。Standard Template Library:标准模板库C POSIX library : POSIX系统的C标准库规范ISO C++ Standards Committee :C++标准委员会