Jenkins 简介及安装
官方文档 : https://jenkins.io/doc/
Ⅰ. 何为Jenkins?
Jenkins是一个开源的CI & CD软件 ,用于自动化各种任务,包括构建、测试和部署软件。
-
持续集成(Continuous Integration)【CI】, 一天多次提交代码到主分支,本质是个人的开发提交给整体。
-
持续部署(continuous deployment)【CD】,代码提交到主分支之后,部署到生产环境。
Ⅱ. Jenkins的特点
-
持续集成&持续交付
Jenkins是一个可拓展的自动化服务器,它可以作为一个简单的CI服务器,也可以作为任何一个项目的持续交付中心
-
简易安装
Jenkins是一个基于Java的独立开源程序员。具有非常简单方便的安装部署方式,支持
Windows
,Mac OS
,Unix
操作系统,你可以选择yum
安装,docker
安装,下载war
包安装等方式安装。 -
配置简单
Jenkins具有Web控制台,可以通过网页页面简单的进行配置,可以快速的跨多平台,构建,测试,部署。
-
插件 & 扩展
通过更新中心中的 1000 多个插件,Jenkins 集成了持续集成和持续交付工具链中几乎所有的工具。Jenkins 可以通过其插件架构进行扩展,从而为 Jenkins 可以做的事提供几乎无限的可能性。
-
分布式
Jenkins 可以轻松地在多台机器上分配工作,让多台机器一同构建、测试。
Ⅲ. Jenkins安装
-
基于yum安装
1.1. 安装JDK (版本大于等于1.8)
-
查询可以在线安装的java版本:
yum -y list java*
-
选择自己需要的版本进行安装(我选择java1.8):
yum -y install java-1.8.0-openjdk.x86_64
-
查找java位置:
which java
ls -l /bin/java
ls -l /etc/alternatives/java
-
配置JAVA_HOME :
vi /etc/profile
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk.x86_64/jre export PATH=$PATH:$JAVA_HOME/bin
使配置生效 :
source /etc/profile
- 查看Java安装情况
java -version
1.2. 获取Jenkins源文件:
wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
![](https://img-blog.csdnimg.cn/img_convert/b5623102e6350e82c69daec2b2ca8101.png)
1.3. 导入Jenkins公钥:
rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key
1.4. yum安装Jenkins :
yum install -y jenkins
1.5. 查看Jenkins相关目录:rpm -ql jenkins
目录解释/usr/lib/jenkins/ #安装目录,war包会放在这里。 /etc/sysconfig/jenkins #配置文件,“端口”,“JENKINS_PORT”在这里配置。 /var/lib/jenkins/ #默认的JENKINS_HOME。 /var/log/jenkins/jenkins.log #日志文件。
1.6. 启动Jenkins :
java -jar /usr/lib/jenkins/jenkins.war --httpPort=8080
1.7. 访问页面:
http://{ip}:8080
初始密码在/root/.jenkins/secrets/initialAdminPassword
文件内复制即可登录
- 基于docker的安装
2.1. 下载镜像
docker pull jenkins/jenkins:lts
2.2. 创建映射卷
mkdir /var/jenkins_home
2.3. 赋权限
chmod 777 /var/jenkins_home/
2.4. 运行容器
docker run --name jenkins -p 8080:8080 -p 50000:50000 -v jenkins_home:/var/jenkins_home --restart always -d jenkins/jenkins:lts
2.5. 访问页面
http://{ip}:8080
2.6. 获取初始登录密码
docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword
-