博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Jenkins10分钟搭建使用文档(jar包版,可用)
阅读量:3961 次
发布时间:2019-05-24

本文共 3848 字,大约阅读时间需要 12 分钟。

jenkins快速使用

1.为什么使用jenkins?

1.持续部署

任何安装完成及时测试,确保其可以正常工作。

项目开发

开发过程中进行单元测试能够通过,但是部署到服务器上运行出现问题。那怎么做会好一些呢?
仅仅单元测试还不够,各个模块都必须能够在服务器上运行。

关注点

持续部署的关注点在于项目功能部署至服务器后可以运行,为下一步测试环节或最终用户正式使用做好准备。

2.持续集成

项目开发

各个小组分别负责各个具体模块开发,本模块独立测试虽然能够通过,但是上线前夕将所有模块整合到一起集成测试却发现很多问题,想要解决就需要把很多代码返工重写而且仍然有可能有问题,但现在时间很可能不够了。
那怎么做会好一些呢?
经常性、频繁的把所有模块集成在一起进行测试,有问题尽早发现,这就是持续集成。

关注点

持续集成的关注点在于尽早发现项目整体运行问题,尽早解决。

3.持续交付

项目开发

项目的各个升级版本之间间隔时间太长,对用户反馈感知迟钝,无法精确改善用户体验,用户流失严重。
那怎么做会好一些呢?
用小版本不断进行快速迭代,不断收集用户反馈信息,用最快的速度改进优化。

关注点

持续交付的关注点在于研发团队的最新代码能够尽快让最终用户体验到。

4.总体目标

  • 好处1: 降低风险

    一天中进行多次的集成,并做了相应的测试,这样有利于检查缺陷,了解软件的健康状况,减少假定。

  • 好处2: 减少重复过程

    产生重复过程有两个方面的原因,一个是编译、测试、打包、部署等等固定操作都必须要做,无法省略任何一个环节;另一个是一个缺陷如果没有及时发现,有可能导致后续代码的开发方向是错误的,要修复问题需要重新编写受影响的所有代码。
    而使用Jenkins等持续集成工具既可以把构建环节从手动完成转换为自动化完成,又可以通过增加集成频次尽早发现缺陷避免方向性错误。

  • 好处3: 任何时间、任何地点生成可部署的软件

    持续集成可以让您在任何时间发布可以部署的软件。从外界来看,这是持续集成最明显的好处,我们可以对改进软件品质和减少风险说起来滔滔不绝,但对于客户来说,可以部署的软件产品是最实际的资产。利用持续集成,您可以经常对源代码进行一些小改动,并将这些改动和其他的代码进行集成。如果出现问题,项目成员马上就会被通知到,问题会第一时间被修复。不采用持续集成的情况下,这些问题有可能到交付前的集成测试的时候才发现,有可能会导致延迟发布产品,而在急于修复这些缺陷的时候又有可能引入新的缺陷,最终可能导致项目失败。

  • 好处4: 增强项目的可见性

    持续集成让我们能够注意到趋势并进行有效的决策。如果没有真实或最新的数据提供支持,项目就会遇到麻烦,每个人都会提出他最好的猜测。通常,项目成员通过手工收集这些信息,增加了负担,也很耗时。持续集成可以带来两点积极效果:
    ⑴有效决策:持续集成系统为项目构建状态和品质指标提供了及时的信息,有些持续集成系统可以报告功能完成度和缺陷率。
    (⑵)注意到趋势:由于经常集成,我们可以看到一些趋势,如构建成功或失败、总体品质以及其它的项目信息。

  • 好处5:建立团队对开发产品的信心I

    持续集成可以建立开发团队对开发产品的信心,因为他们清楚的知道每一次构建的结果,他们知道他们对软件的改动造成了哪些影响,结果怎么样。

2.Jenkins搭建

使用工具:docker+jdk8+git+tomcat

1.下载安装Jenkins

1.通过docker拉取下载jenkins

docker run -d -p 8091:8091 -p 9001:9001 -p 50000:50000 -v jenkins_data:/var/jenkins_home jenkinsci/blueocean

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dVMSwA39-1604976336434)(..\jenkins\image\001.png)]

docker ps查看Jenkins是否启动成功

注意:CONTAINER ID使用docker ps或docker ps -a查看

docker exec -it CONTAINER ID /bin/bash进入容器内部

cat /var/jenkins_home/secrets/initialAdminPassword 查看Jenkins密码

例如:我的是:c1a097b290a3457e9784aae9ce59a5cbdocker

netstat -atu 查看端口是否开放

2.配置 docker-compose.yml 下载

# 创建一个文件夹,在文件夹下创建docker-compose.yml文件touch docker-compose.yml# 编辑vi docker-compose.ymlversion: '3'services:  jenkins:    restart: always    image: jenkins/jenkins:lts-alpine    ports:	#修改端口      - "8091:8080"      - "14005:50000"    volumes:      - "/var/jenkins_homt"    deploy:      replicas: 1      restart_policy:        condition: on-failure      placement:        constraints: [node.hostname == worker]#退出编辑esc#保存文件:wq

编排 docker-compose.yml

docker-compose up -d #编排完后自动在docker中创建容器启动服务

注意记得开放端口:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Xt0EajHv-1604976336435)(..\jenkins\image\002.png)]

docker logs --tail="200" CONTAINER ID #查看日志 CONTAINER ID通过docker ps -a可以查看

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fbr45Nzf-1604976336436)(..\jenkins\image\003.png)]

红框内为登录Jenkins的初始密码

3.通过Wget拉取解压

# yum的repo中默认没有Jenkins,需要先将Jenkins存储库添加到yum repossudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo# 然后执行下面的命令sudo rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key# 安装Jenkins sudo yum install jenkins# 修改端口vi /etc/sysconfig/jenkins# 修改jdk,必须修改为你当前的jdk,例如我的是:/usr/local/jdk1.8/bin/javavi /etc/init.d/jenkins# 启动/停止 Jenkinsservice jenkins start / service jenkins stop# 启动后通过ip地址加端口访问Jenkins默认端口8080

三种方式安装都是通过cat 初始页面的路径查看初始密码

2.登录Jenkins

服务器地址:配置的端口号,例如114.2.120.35:8097

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-btjj1Hml-1604976336437)(..\jenkins\image\004.png)]

通过前面日志中获取的密码登录

3.Jenkins配置

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-s2Tvwt1z-1604976336438)(..\jenkins\image\006.png)]

在这里插入图片描述

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Uf0Zlmoo-1604976336439)(..\jenkins\image\007.png)]

1.Jenkins主页

首先需要下载的插件是Deploy to Container Plugin,这个插件的作用是支持将代码部署到Tomcat容器中

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jLfKRNnF-1604976336440)(..\jenkins\image\010.png)]

接下来配置ssh连接信息,安装ssh插件:publish over ssh

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-V4hmGvBl-1604976336440)(..\jenkins\image\011.png)]

安装 Locale plugin 插件可以汉化Jenkins

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-H7f5xkXZ-1604976336441)(..\jenkins\image\016.png)]

安装gitlab 构建触发器

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JCviJkm7-1604976336441)(..\jenkins\image\017.png)]

缺少Maven项目时安装Maven Integration Plugin 或者 Pipeline Maven Integration Plugin插件

2.配置全局配置

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-39E5vhiM-1604976336442)(..\jenkins\image\012.png)]

这里先默认选择自动安装,jdk1.8 安装需要oracle的账号,没有可以去注册

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BKtepEE6-1604976336443)(..\jenkins\image\013.png)]

git 安装

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JknexBN0-1604976336444)(..\jenkins\image\014.png)]

maven安装

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-M9gi4pjg-1604976336444)(..\jenkins\image\015.png)]

注意:这里是为了简便,不建议自动安装

3.配置全局安全

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Gmhhuh7G-1604976336445)(..\jenkins\image\018.png)]

4.配置系统

**进入系统配置-> Publish over SSH **

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wVGKsNRB-1604976336445)(..\jenkins\image\019.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tS7NzmKC-1604976336446)(..\jenkins\image\020.png)]

注意:这里的tomcat位置是存放位置,如webapps

4.创建任务和配置使用

1.创建一个maven项目

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YzYgQ6tG-1604976336446)(..\jenkins\image\021.png)]

需要定时构建需要设置触发器,

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0PCYrY5t-1604976336447)(..\jenkins\image\024.png)]

2.配置gitlab

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bZh9RxPI-1604976336447)(..\jenkins\image\022.png)]

3.配置Build

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ScMSmezU-1604976336448)(..\jenkins\image\023.png)]

4.配置Post Steps发布步骤

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eBUnuUDQ-1604976336448)(..\jenkins\image\025.png)]

Source files 项目构建后的目录

Remove prefix 去前缀

Remote directoty 发布的目录

Exec command 发布完执行的命令,这里写的是自动部署

shell脚本如下:

source /etc/profile //重启配置文件cd /你保存的jar的位置  //进入保存jar的地址ps -ef|grep unionproject.jar|grep -v grep|awk '{print $2}'|xargs kill -s 9  //搜索到当前正在执行的jar并停止他的执行BUILD_ID=dontKillMe //解决jar执行不了的bugnohup java -jar 项目名.jar > 项目名_log.file 2>&1 &  //执行jar

5.配置gitlab钩子

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VMF8Pz5V-1604976336449)(..\jenkins\image\026.png)]

作用是gitlab上代码更新,jenkins就会自动拉取最新的代码

6.构建项目

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-O0eqENqs-1604976336449)(..\jenkins\image\027.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xcAc9i2a-1604976336450)(..\jenkins\image\028.png)]

转载地址:http://bhqzi.baihongyu.com/

你可能感兴趣的文章