CICD之jenkins

jenkins是什么?为什么要用jenkins?jenkins如何安装和使用?本篇文章主要回答这些问题。

jenkins是什么

从官网(https://jenkins.io/zh/)介绍来看: Jenkins是开源CI&CD软件领导者, 提供超过1000个插件来支持构建、部署、自动化, 满足任何项目的需要。CI&CD(Continous Integration & Continous Delivery)通过包含自动构建,测试,部署的流水线方式能大幅提高从源码到生产环境下的应用,能大大提高整个项目的开发效率,特别是对于需要频繁改动的项目而言。jenkins就提供了这样一个软件服务。所以从使用意义上来说,jenkins就是为了提供CI&CD服务的软件。jenkins就像是管家一样,本身并不一定提供什么特殊功能,它最大的好处是按照事先定义好的流程在合适的时机(定时或事件触发)自动执行,从而减少人工操作。

为什么使用jenkins

适用平台广泛,配置简单,丰富插件,扩展性强,支持分布式。

首先从使用平台来说,jenkins包含windows,mac os x和linux的操作系统上运行,便于安装。另外,jenkins提供了网页配置,使得配置更加方便简单。jenkins提供了大概1000多个插件,具有强大的能力来完成相应的工作(例如,docker插件能进行镜像的打包上传下载能力)。jenkins能利用插件与其他架构,同时自身也提供了丰富的接口(例如restapi接口,git接口)。另外,jenkins能够支持分布式,将具体任务分发到不同的机器上执行,提高编译,测试和部署的效率。

如何安装jenkins

具体可参考官网https://jenkins.io/zh/doc/book/installing/来安装。这里以deepin(linux的debian改进版)操作系统为例。需要准备的环境为:jdk,docker

jenkins是java编译的,所以需要jdk环境。目前的jdk8官网下载(https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html)需要注册oracle之后才能下载。下载后进行解压,并将解压后文件夹移动到特定路径下(这步不是必须的,我一般将文件放到/opt/java/jdk路径下),修改/etc/profile,插入下面一段:

export JAVA_HOME= /opt/java/jdk
export JRE_HOME = /opt/java/jdk/jre
export JAVA_CLASS = $JAVA_HOME/lib
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

之后执行source /etc/profile 

通过使用java -version来查看是否安装成功。

以上可以看到jdk安装成功。

docker 安装:

这篇文章https://www.cnblogs.com/jason1990/p/9887353.html介绍了安装过程。

以上配置环境后,开始执行。

注意这里是通过二进制文件安装的,在/etc/docker下并没有daemon.json文件,若想对本机的docker进行配置,需要在

/etc/docker创建一个daemon.json或者通过dockerd --confile=XXX来指定配置文件。之后使用systemctl reload-daemon重新加载配置,利用systemctl restart docker.service来重启docker服务,通过systemctl  status docker -l或者docker info来查看状态。

利用docker运行jenkins。

执行命令来启动jenkins:docker run -u root --rm  -d  -p 8080:8080 -p 50000:50000 -v jenkins-data:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock  jenkinsci/blueocean 这里的镜像jenkinsci/blueocean有可能无法获取,通过加速器也无法获取,具体可以通过阿里云来代理下载。

在本地运行后,通过localhost:8080可以查看jenkins已经正在初始化,稍作等待后,系统提示输入admin的密码(https://jenkins.io/doc/book/system-administration/viewing-logs/来查看密码的位置)。由于我们是采用docker运行的,直接通过docker logs containerid来查看,输入之后,等到一段之后就可以看到以下界面。CICD之jenkins_第1张图片

接着就可以进行配置了。如果是国内的网,很有可能下载插件失败。这时候可以自己通过手动下载jenkins插件文件之后,通过离线的方式(https://www.cnblogs.com/yy-cola/p/10162062.html)来安装相关插件http://updates.jenkins-ci.org/download/plugins/。这里就不再详细讲述。

CICD之jenkins_第2张图片

接下来就可以使用该jenkins作为服务器进行构建了。

 

你可能感兴趣的:(运维,jenkins,linux)