Jenkins实践之入门体验

Jekins

官网:https://jenkins.io/

持续集成,快速发布是DevOps实践的最好方式。

目录

准备工作

在使用Jekins之前,先安装好如下组件:

  • JDK,并设置好Java环境变量,启动Jenkins时需要执行java命令
  • Maven(可选),但是为了使用自定义的settings.xml文件,自定义安装比较好。

并且确认部署Jenkins的主机能够访问外网(需要下载插件)。

下载/安装/启动

直接下载jenkins.war,然后执行:java -jar jenkins.war就可以启动jenkins了。
第一次启动时会默认生成一个密码,第一次访问页面时将会使用该密码。
第一次登陆时会提示安装插件,可以直接安装推荐的插件列表,也可以自定义安装指定插件,安装插件需要等待一段时间。
插件安装完毕之后需要创建第一个管理员账户,设置完毕之后重启登录jenkins。

提示:

  1. 如果在新建第一个管理员账户之后无法登录,请重启jekins重新访问首页并登录即可。
  2. 如果需要修改jekins的workspace路径,请在第一次启动之前就修改,如果在启动之后修改将会重新执行一次初始化操作。

基础配置

第一次使用新建的管理员账户登录之后,先进行全局工具配置,路径:“系统管理”->“全局工具配置”。
在这里进行全局的MAVEN,JDK,GTI等基础环境配置。

插件配置

为了构建Maven项目,需要先安装插件:“Maven Integration”插件。
安装路径:“系统管理”->“管理插件”,切换到“可选插件”标签页,在右上角搜索框输入:“Maven Integration”,选择并安装“Maven Integration”插件,安装插件需要等待一段时间。

构建第一个Java项目

安装完“Maven Integration”插件之后,回到jenkins首页。
点击“新建任务”,输入任务名称,选择“构建一个maven项目”,点击“确定”按钮进入到任务配置界面,分别对如下参数进行配置:

  • General:配置任务基本信息,如:任务描述等等。
  • 源码管理:选择Git,输入源码仓库地址,默认选择从master分支构建。
  • 构建触发器:选择“轮询 SCM”,填入构建计划,如每3分钟检查一次项目变化:*/3 * * * *
  • 项目构建:在Build选项中,“Root POM”参数为构建时需要使用的pom.xml文件,默认使用的项目根目录下的pom.xml。如果pom.xml不在根目录下,需要明确填写,如:xxx/yyy/pom.xml;参数“Goals and options”为执行构建时使用的命令,如:clean package -DskipTests=true

在任务页面的左侧菜单中,选择“立即构建”,此时在“构建历史”中就可以看到所有执行构建任务的信息。点击任意一个历史构建任务,选择“控制台输出”可以查看详细的构建输出日志。

部署项目

构建完成够可以通过执行脚本的方式将程序部署的目标服务器,分三步走:
第一步:配置免密码登录方式登录目标服务器(SSH免密码登录)
第二步:将构建的文件复制到目标服务器(使用scp命令)
第三步:通过插件“Jenkins SSH”在目标服务器执行脚本进行程序部署

Jenkins的会话超时时间默认为30分钟,可以通过启动参数--sessionTimeout--sessionEviction进行修改。
以Windows安装版本为例,可以在文件JEKINS_HOME/jenkins.xml文件中添加这2个参数。
例如:设置Jenkins的会话超时时间为一周:--sessionTimeout=10080 --sessionEviction=10080

值得注意的是,两个参数必须同时设置才能生效(Jenkins版本:Jenkins 2.289.3)!
参考:Increase the Jenkins login timeout

关于Jenkins的详细使用参考:jenkins-use-guide

Docker方式安装Jekins

使用Docker方式安装Jekins非常方便,可以直接通过docker命令方式启动,也可以使用docker-compose启动。

直接使用docker命令方式启动,注意挂载一个主机目录保存数据:

docker run jenkins -p 10060:8080 -p 50000:50000 -v /data/jekins:/var/jenkins_home --name jenkins/jenkins:lts

通过docker-compose方式启动,对应的docker-compose.yml文件配置如下:

version: '3'
services:
  jenkins:
    image: jenkins/jenkins:lts
    container_name: jenkins
    ports:
      - 10060:8080
      - 50000:50000
    volumes:
      - /data/jekins:/var/jenkins_home

然后执行:docker-compose up

说明:
1.之所以需要挂载一个对应的主机目录,是为了查看初始化密码,以上述配置为例,初始化密码在文件中:/data/jekins/secrets/initialAdminPassword
2.如果是前台启动,也可以在控制台界面看到如下提示信息:

jenkins    | *************************************************************
jenkins    | *************************************************************
jenkins    | *************************************************************
jenkins    | 
jenkins    | Jenkins initial setup is required. An admin user has been created and a password generated.
jenkins    | Please use the following password to proceed to installation:
jenkins    | 
jenkins    | 7c12c501da444e53a850738133ce497b
jenkins    | 
jenkins    | This may also be found at: /var/jenkins_home/secrets/initialAdminPassword
jenkins    | 
jenkins    | *************************************************************
jenkins    | *************************************************************
jenkins    | *************************************************************


【参考】
http://www.liaoxuefeng.com/article/001463233913442cdb2d1bd1b1b42e3b0b29eb1ba736c5e000 使用Jenkins进行持续集成
http://fanlychie.github.io/post/jenkins-remote-ssh.html   Jenkins SSH 远程执行 Shell 脚本
https://jenkins.io/doc/book/using/                  jenkins官方手册
https://www.cnblogs.com/exmyth/p/7148330.html   更改Jenkins的workspace目录
https://segmentfault.com/q/1010000006741100     jenkins管理界面中没有 构建maven项目 这一项
https://blog.csdn.net/zy1281539626/article/details/115149862  自动化构建部署之Jenkins安装【Docker容器】
posted @ 2018-06-30 20:59  nuccch  阅读(861)  评论(0编辑  收藏  举报