Jenkins

1. Jenkins简介

  Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。

Jenkins功能包括:

  1> 持续的软件版本发布/测试项目。

  2> 监控外部调用执行的工作。

 

  jenkins就是基于Java开发的一种持续集成的工具, 可以将运维用到的各个脚本整合起来,并且可以通过页面方式集中管理,而且可以也可以实现和gitlab、github交互,也可以实现自动编译、部署程序。

 

持续集成 

  持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通过每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽早地发现集成错误。

 

持续集成

  持续集成:Continuous Intergration (CI)

  持续交付:Continuous Delivery(CD)

  持续部署:Continuous Deployment(CD)

 

    集成是指软件个人研发的部分向软件整体部分交付,以便尽早发现个人开发部分的问题;
      部署是代码尽快向可运行的开发/测试节交付,以便尽早测试;
      交付是指研发尽快向客户交付,以便尽早发现生产环境中存在的问题。
      如果说等到所有东西都完成了才向下个环节交付,导致所有的问题只能再最后才爆发出来,解决成本巨大甚至无法解决。
      而所谓的持续,就是说每完成一个完整的部分,就向下个环节交付,发现问题可以马上调整。是的问题不会放大到其他部分和后面的环节。

 

持续集成流程:

  提交(git)→ 测试 → 构建(jenkins)→ 测试 → 部署(ansible,shell,puppet)→ 回滚(ansible)

2. Jenkins安装

       Jenkins是基于Java开发的,所以需要安装Java环境,此处所用的Jenkins因版本较低的的问题,在高版本的Java1.11环境下不兼容,无法启动,因此需要利用本地源下载低版本的Java1.8环境。Java环境下载后安装Jenkins。

       Jenkins官网:http://pkg.jenkins.io/,可以从官网下载安装包进行安装。

       我将Jenkins安装在192.168.16.6这台主机上。

1> 利用本地源安装Java环境

[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# ls
bak  local.repo  Mariadb.repo  net.repo
[root@localhost yum.repos.d]# mv net.repo net.repo.bak
[root@localhost yum.repos.d]# cd
[root@localhost ~]# yum install java -y

2> 上传Jenkins安装包

[root@localhost ~]# rz
[root@localhost ~]# ls
anaconda-ks.cfg  gitlabtest  jenkins-2.32.3-1.1.noarch.rpm

3> 安装Jenkins

 [root@localhost ~]# yum install jenkins-2.32.3-1.1.noarch.rpm -y

4> 启动Jenkins

[root@localhost ~]# systemctl restart jenkins

5> 浏览器访问

  Jenkins占用的是8080端口,浏览器访问时要加上端口号。

  根据提示找到保存的密码,复制密码。

[root@localhost ~]# cat /var/lib/jenkins/secrets/initialAdminPassword
ec83353c768946b79ce8387d67254843

       进入Jenkins客户自定义阶段,提示Jenkins需要依赖许多插件进行工作,由于在Jenkins官网安装插件比较慢,此处选择自定义安装插件(select plugins)。

       进入自定义安装界面,同样也因为网络原因不要选择任何插件安装,稍后会上传插件包进行本地安装。

       进入用户注册界面。简单起见,用户为root,密码为123。

 

Jenkins安装成功。

6> 安装Jenkins插件

       进入Jenkins后选择 系统管理→管理插件→已安装,发现是空的,此时再上传安装插件包。如果网速支持也可以去官网:http://updates.jenkins-ci.org/ 下载安装。

1) 上传插件

[root@localhost ~]# rz
  

 2> 移动插件包至Jenkins插件目录下

 

[root@localhost ~]# rpm -ql jenkins
/etc/init.d/jenkins
/etc/logrotate.d/jenkins
/etc/sysconfig/jenkins
/usr/lib/jenkins
/usr/lib/jenkins/jenkins.war
/usr/sbin/rcjenkins
/var/cache/jenkins
/var/lib/jenkins
/var/log/jenkins
[root@localhost ~]# cd /var/lib/jenkins/
[root@localhost jenkins]# ls
config.xml                                   logs              secret.key.not-so-secret
hudson.model.UpdateCenter.xml                nodeMonitors.xml  secrets
jenkins.install.InstallUtil.lastExecVersion  nodes             updates
jenkins.install.UpgradeWizard.state          plugins           userContent
jobs                                         secret.key        users
[root@localhost jenkins]# cd plugins/
[root@localhost plugins]# mv /root/plugins.tar.gz .     #移动插件到当前目录
[root@localhost plugins]# ls
plugins.tar.gz

3> 解压并复制插件至plugins目录

[root@localhost plugins]# tar xf plugins.tar.gz         #解压
[root@localhost plugins]# ls
plugins  plugins.tar.gz                                 #插件全在plugins下面
[root@localhost plugins]# cp -a plugins/* .             #复制所有的插件到当前目录
[root@localhost plugins]# ls
ace-editor                       junit.jpi
ace-editor.jpi                   ldap
ant                              ldap.jpi
………so many plugins……..

4> 重启Jenkins使插件生效

[root@localhost ~]# systemctl restart jenkins

5> 浏览器下查看

插件安装成功,可以创建项目了。

 3. Jenkins凭证

  有许多第三方网站和应用程序可以与 Jenkins 进行交互,例如程序代码仓库,云存储系统和服务等。

  此类应用程序的系统管理员可以在应用程序中配置凭证以专供 Jenkins 使用。通常通过将访问控制应用于这些凭证来完成这项工作,以“锁定”Jenkins可用的应用程序功能区域。一旦 Jenkins 管理员(即管理 Jenkins 站点的 Jenkins 用户)在 Jenkins 中添加/配置这些凭证,Pipeline 项目就可以使用凭证与这些第三方应用程序进行交互。

 

Jenkins 中保存的凭证可以用于:

  • 任何适用于 Jenkins 的任何地方(即全局证书)
  • 特定的 Pipeline 项目
  • 特定的 Jenkins 用户

 

简单来说,Jenkins用来保存用户和密码。

 

3.1 Jenkins凭证的创建

  凭证添加,此时可以创建一个Gitlab来使用此凭证(Gitlab用户密码为root、12345678)

       创建新任务

  任务名为gitlabtest,创建为自由的项目,点击确定创建

  主题描述,

       使用刚添加的凭证,在使用时就不必再输入用户密码了。

4. Jenkins项目操作详解

1> 新建项目

2> 输入主题,选择自由分格,进行创建

3> 填写主题介绍(可省略)

4> 向下滑,可以选择位构建shell,直接使用shell命令

5> 选择了workspace目录,因此命令的执行结果均在workspace下,点击保存

6> 构建gitlabtest项目,执行命令,蓝色表示执行成功

7> 点击前面的小球进入控制台显示详细的执行结果

8> 主机端查看结果

[root@localhost ~]# cd /var/lib/jenkins/workspace/gitlabtest
[root@localhost gitlabtest]# ls
test
[root@localhost gitlabtest]# cat test
123

 

posted @ 2019-06-19 08:53  Ajunyu  阅读(259)  评论(0编辑  收藏  举报