记得15年的时候就开始用jenkins了,那时候老大讲的时候自己傻傻的不懂。。。现在自己在看基础的时候就自己玩玩,眼里过千遍不如手里过一遍。总结一下,看了好多博客,做下来都是有错误的,索性自己写一个,边做边写,就当是个笔记记录一下。计划后面还要使用 结合docker和 shell 脚本。做的更好一些。
一、环境准备
软件 | 版本 | 安装路径 |
---|---|---|
vmware | 12 | |
centos | CentOS-6.8-x86_64-minimal.iso | |
jdk | 1.8 | /usr/local/jdk1.8.0_131 |
git | 2.6.0 | /usr/local/git |
maven | 3.3.9 | /usr/local/apache-maven-3.3.9 |
tomcat | 7 | /usr/local/tomcat-8090 |
二、安装JDK
- 解压jdk
[root@localhost ~]# tar -zxvf jdk-8u131-linux-x64.tar.gz -C /usr/local/
2.配置 /etc/profile,最后面添加一下内容:
export JAVA_HOME=/usr/local/jdk1.8.0_131
export PATH=$PATH:$JAVA_HOME/bin
3.刷新
source /etc/profile
三.安装maven
1.解压maven
[root@localhost ~]# tar -zxvf apache-maven-3.3.9-bin.tar.gz -C /usr/local/
2.配置/etc/profile, 最后面添加以下内容:
export MAVEN_HOME=/usr/local/apache-maven-3.3.9
export PATH=$PATH:$MAVEN_HOME/bin
3.刷新
source /etc/profile
四、安装git
1.安装依赖包
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
yum install gcc perl-ExtUtils-MakeMaker
2.解压git
[root@localhost ~]# unzip git-2.6.0.zip
3.新建git文件夹,/usr/local/git
[root@localhost local]# pwd
/usr/local
[root@localhost local]#
[root@localhost local]# mkdir git
4.安装
[root@localhost ~]# cd git-2.6.0
#执行下面两句话
make prefix=/usr/local/git all
make prefix=/usr/local/git install
5.配置/etc/profile,最后面添加以下内容
export GIT_HOME=/usr/local/git
export PATH=$PATH:$GIT_HOME/bin
6.刷新
source /etc/profile
7.检查
git --version
五、安装jenkins
因为jenkins内置jetty,所以简单粗暴就可以。
[root@localhost ~]# java -jar jenkins.war
安装之后的位置:Jenkins home directory: /root/.jenkins found at: $user.home/.jenkins
记录初始密码:
如果没有记录下来,就去安装之后的位置下去找,因为后面的初始化登录需要用到
六、登录、安装两个非常重要的插件
第一步:初次登录,使用初始化密码
第二步:安装推荐的必要插件
这个工程非常的缓慢,可以登录成功之后,自己再去手动找。
等待时间较久。。。。。。
所有执行完成之后登陆进入:
第三步: 安装两个非常非常非常重要的插件
安装两个重要插件:
1、Maven Integration plugin(默认没有maven项目,增加这个就有了)
2、Deploy to container Plugin(部署后自动放tomcat里面)
七、环境配置
选择: 系统管理 -> Global Tool Configuration
第一步、配置jdk
第二步、配置maven
配置maven configuration
配置maven
第三步、 配置git
八、新建一个任务
先看一下我GitHub中的项目:一个多模块的聚合工程
ecps
├── ecps-api -> war
├── ecps-common -> jar
├── ecps-manager -> pom
│ ├── ecps-manager-mapper -> jar
│ ├── ecps-manager-model -> jar
│ ├── ecps-manager-service -> jar
│ ├── ecps-manager-web -> war
├── ecps-parent -> pom
├── ecps-portal -> zip
├── ecps-ssm -> war
└── readme.md
这里只选取其中的 ecps-ssm做一个构建任务
第一步、选择 -> 新建
<注意:> 如果这里没有maven项目的选项,就是上面两个很重要的插件没有安装或者安装失败
第二步、填写基础信息
第三步、 配置源码信息
第四步、配置构建触发器
第五步、配置build
第六步、配置构建后的操作
对于第五步和第六步的配置不理解的,可以看最后面的jenkins结构说明。
第七步、配置tomcat热部署
修改 tomcat-users.xml文件:
<tomcat-users>
<role rolename="tomcat"/>
<role rolename="manager"/>
<role rolename="manager-gui" />
<role rolename="manager-script" />
<role rolename="admin-gui" />
<user username="tomcat" password="tomcat" roles="tomcat,manager,manager-gui, manager-script,admin-gui"/>
</tomcat-users>
九、开启构建任务
做完以上几步操作保存之后,在首页就可以看到刚才构建的新任务,点击开始构建即可,jenkins就会拉去GitHub上的代码进行打包构建,并部署到tomcat中。
十、访问
十一、jenkins中结构
可能我们对于刚才第五步和第六步中相关的配置不胜明了,这里就解释一下。
我们先看一下 .jenkins中的结构
[root@localhost .jenkins]#
[root@localhost .jenkins]# pwd
/root/.jenkins
[root@localhost .jenkins]# tree -L 1
.
├── cache
├── config.xml
├── credentials.xml
├── fingerprints
├── hudson.model.UpdateCenter.xml
├── hudson.plugins.deploy.DeployPublisher.Migrator
├── hudson.plugins.emailext.ExtendedEmailPublisher.xml
├── hudson.plugins.git.GitTool.xml
├── hudson.plugins.gradle.Gradle.xml
├── hudson.tasks.Ant.xml
├── hudson.tasks.Maven.xml
├── identity.key.enc
├── jenkins.CLI.xml
├── jenkins.install.InstallUtil.installingPlugins
├── jenkins.install.InstallUtil.lastExecVersion
├── jenkins.install.UpgradeWizard.state
├── jenkins.mvn.GlobalMavenConfig.xml
├── jobs
├── logs
├── nodeMonitors.xml
├── nodes
├── org.jenkinsci.plugins.docker.commons.tools.DockerTool.xml
├── org.jenkinsci.plugins.gitclient.JGitApacheTool.xml
├── org.jenkinsci.plugins.gitclient.JGitTool.xml
├── plugins
├── queue.xml.bak
├── secret.key
├── secret.key.not-so-secret
├── secrets
├── updates
├── userContent
├── users
├── war
├── workflow-libs
└── workspace
14 directories, 21 files
[root@localhost .jenkins]#
secrets : 里面存储初始化密码
workspace: 下面就是构建任务
再进一步看看workspace 里面的内容: test 就是我构建的任务的名称
还有对第六步的 : context path 配置什么不明白,请看:
1) / : 代表我部署到tomcat -> webapps -> ROOT.war, 访问的时候不用带项目名, 就是上面的那种访问路径。
2) 如果你配置成其他的,比如: ecps-ssm, 代表部署到 tomcat -> webapps -> ecps-ssm.war, 解压之后存在一个 ecps-ssm的目录,访问的时候是需要带上ecps-ssm这个名称的。
以上就是全文的内容,由于水平有限,文章中难免会有错误,希望大家指正。谢谢~