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、点这里可以看到输出历史
Manage Jenkins > Manage Plugins
pipeline
插件即可pipeline
描述步骤开始测试、构建、发布以及构建成功与否的通知最后尽量还是自己动动手试一下,才能更好的学会这个东西。
python字符串反转的四种方法详解这篇文章主要介绍了python字符串反转的四种详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下1、用reduce函数方法book = 'Python程序设计'result = reduce(lambda x,y:y+x,book)print(result)2、字符串切割book = 'Python程序设计'p..._反转 分数 4 作者 python课程组 单位 湖南工程学院 键盘上输入一串字符,程序将其
Windows虚拟主机(香港、美国、郑州)操作系统:Windows 2016Web服务器:IIS 10支持脚本:ASP、ASP.NET、PHP支持数据库:SQLServer、MySQLASP.NET版本:.NET 2.0/ 3.5、.NET 4.0/4.5SQLServer版本:SQLServer 2012PHP版本:PHP 5.2、PHP 5.3、PHP 5.6、PHP 7.2MySQL版本:M..._tfs2015支持什么数据库
Collections framework概述 所有抽象出来的数据结构和操作统称为Collections framework 框架。Java程序员不必考虑数据结构的算法细节,只需要定义具体应用的数据结构实体。数据结构上的方法也用不着程序员去写,用系统的方法就行了,系统的方法总比一般程序员编写的要快。 Collection是集合接口 Collections是集合类 Set 无序,不允许重
第一步:首先在本机下面安装一个虚拟机,然后下载一个centos镜像文件:我用的虚拟机是vmware10,已经破解了,不用那么头痛还用找序列号:虚拟机下载链接:https://pan.baidu.com/s/1fQ6QEtpt5pZjvQWGCweqpw第二步: 下载下来傻瓜式安装,安装好下载一个centos镜像文件,可以通过阿里云镜像进行下载,下载地址如下:http://mirrors....
简单的微信QQ消息轰炸脚本,会使用电脑即可;慎用,后果自负!
intel流和motorola流的区别对于任何一个信号,我们随便定义一个起始位(起始位又叫StartBit,范围为0~63)和长度(SignalSize),就从这个StartBit开始,向左延伸,延伸SignalSize个bit。如果在本字节向左延伸到头了,那么如果是intel编码,就从下面一个字节的最右侧开始,继续往左数,如果是motorola编码,就从上面一个字节的最右侧,继续往左数。详情..._signal size
认证即是弄清谁在访问服务器,且该用户是合法非假冒的。通常会验证密码、动态令牌、数字证书、生物认证、IC卡等。其实以下方式皆可归于HTTP认证。认证方式HTTP认证:BASIC认证DIGEST认证HTTPS认证:SSL客户端认证基于表单认证:HTTP认证:BASIC认证DIGEST认证HTTPS认证:SSL客户端认证基于表单认证:...
上一节 我们学习了: IIC接口下的24C02 驱动分析: http://www.cnblogs.com/lifexy/p/7793686.html接下来本节, 学习Linux下如何利用linux下I2C驱动体系结构来操作24C02 1. I2C体系结构分析1.1首先进入linux内核的driver/i2c目录下,如下图所示: 其中重要的文件介绍如下:1)al..._linux 内核如何获取iic地址
使用Objective-C解析HTML或者XML,系统自带有两种方式一个是通过libxml,一个是通过NSXMLParser。 libxml性能较好,且可以结合urlconnection实现边下载边解析,在要求快速 、分批响应UI到情况下较为有用,NSXMLParser基本没什么优势,不如使用第三方工具。hpple,它是一个轻量级的包装框架,可以很好的解决这个问题,尤其是它支持HTML的解析,_objective-c html解析 hpple
1、此书是段云所、魏仕民、唐礼勇、陈钟所写,高等教育出版社2、信息安全的基础理论和技术原理,包括密码理论与应用、身份认证、访问控制、审计、安全脆弱性分析、入侵检测、防火墙、安全协议等3、信息数字化:信息+数字化4、信息安全上升到国家安全的高度5、信息安全的目标:保护信息的机密性、完整性、抗否认性和可用性;也有观点认为是机密性、完整性和可用性,即CIA6、信息安全研究大致可以分为_信息安全概论张雪峰
水平拆分vim中输入::sp:实现水平分割垂直拆分vim中输入::vsp输入::e /xx/xx/文件名:在光标所在屏打开该文件注:按Ctrl+w+方向键(或者Ctrl+w+w)切换分屏输入 :close:关闭光标所在分屏(只剩最后一个屏幕时无法关闭)..._linux多窗口分屏
ARM公司拥有众多CPU指令集, CPU架构, CPU系列. 本文旨在介绍ARM公司的CPU产品线. 下图展示了ARM公司CPU的产品线: 首先有必要了解一下ARM公司的命名规则: ARM的命名规则, 大致分成三类 1. 基于ARM Architecture版本的“指令集架构”命名规则 2. 基于ARM Architecture版本的“处理器系列”命名规则 3. 基于ARM A..._arm处理器型号