本文为学习笔记,主要用于记录本人学习过程。部分内容为转载!!!!
Jenkins是什么?
Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。
Jenkins功能包括:
1、持续的软件版本发布/测试项目。
2、监控外部调用执行的工作。
Centos下安装Jenkins
1、安装JDK1.8
tar -zxvf jdk-8u121-linux-x64.gz -C /usr/local && \
ln -sv /usr/local/jdk1.8.0_121 /usr/local/jdk1.8 && \
echo "export PATH=$PATH:/usr/local/jdk1.8/bin" >/etc/profile.d/java.sh
source /etc/profile.d/java.sh
$ java -version
2、安装Jenkins
$ sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat-stable/jenkins.repo
$ sudo rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key
$ sudo yum -y install jenkins
3、安装Git
$ sudo yum install -y git
设置Git的账户信息
$ git config --global user.name "用户名"
$ git config --global user.email "邮箱"
4、maven安装
cd /usr/local/ && wget -c wget https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.5.3/binaries/apache-maven-3.5.3-bin.tar.gz && \
tar -zxf apache-maven-3.5.3-bin.tar.gz && \
echo "export PATH=$PATH:/usr/local/apache-maven-3.5.3/bin" > /etc/profile.d/maven.sh && \
source /etc/profile.d/maven.sh
mvn 测试
$ mvn -version
Apache Maven 3.5.3 (3383c37e1f9e9b3bc3df5050c29c8aff9f295297; 2018-02-25T03:49:05+08:00)
5、svn安装
yum install subversion -y
mkdir /svnrepo
svnadmin create /svnrepo/project1 #创建一个新的Subversion项目
启动Jenkins
1、设置允许开机启动
chkconfig jenkins on
2、调整配置文件
## sudo vim /etc/sysconfig/jenkins
JENKINS_USER="root" ## 原值 "jenkins" 必须修改,否则权限不足
JENKINS_PORT="8080" ## 原值 "8080" 可以不修改
## 还有开启 HTTPS 相关参数,此处不打算开启,故不作说明
安装目录: /usr/lib/jenkins
工作目录: /var/lib/jenkins(对应于环境变量 JENKINS_HOME)
3、启动Jenkins
sudo systemctl enable jenkins
sudo systemctl restart jenkins
查看日志文件: sudo tail -f /var/log/jenkins/jenkins.log
启动后会生成文件 hudson.model.UpdateCenter.xml需要修改它,也可以通过Vi 修改
否则浏览器首次进入时会卡在“Jenkins 正在启动,请稍后…”
## 原值: http://updates.jenkins-ci.org/update-center.json
## 新值: http://mirror.xmission.com/jenkins/updates/update-center.json
## 或者: http://mirror.xmission.com/jenkins/updates/current/update-center.json
sudo cat /var/lib/jenkins/hudson.model.UpdateCenter.xml
sudo sed -i 's/updates.jenkins-ci.org/mirror.xmission.com\/jenkins\/updates/g' /var/lib/jenkins/hudson.model.UpdateCenter.xml
sudo cat /var/lib/jenkins/hudson.model.UpdateCenter.xml
sudo systemctl restart jenkins
4、防火墙放行
### sudo vim /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
### 重启生效: sudo systemctl restart iptables
5、卸载Jenkins
如果要重装,或者本机不需要 Jenkins,可卸载:
sudo systemctl stop jenkins
sudo systemctl disable jenkins
sudo yum -y remove jenkins
sudo rm -rf /var/{lib,log,cache}/jenkins /usr/lib/jenkins /root/.jenkins
sudo rm -rf `sudo find /{etc,var,run} -name "jenkins*"`
配置Jenkins
1、登录
浏览器进入 http://centosip:8080/
首次进入需要输入初始密码来解锁,初始密码查看方法: sudo cat /var/lib/jenkins/secrets/initialAdminPassword
进入 Jenkins 定制界面,让选择 安装推荐的插件 或 选择插件来安装
时
设置成功后即进入Jenkins主界面:
点击左上侧系统管理,进入Jenkins基本系统设置(主要是以下三块):
先进入“管理插件”模块安装必需的插件,以下是建议安装列表(也可根据实际情况进行选择):
将本文附件中的插件放入Jenkins插件存放目录即可,如本文插件存放目录为:
/var/lib/jenkins |
(可点击系统管理–>系统设置,在最上方查看,如下图);
配置系统设置
添加编码全局属性:
增加系统管理员邮件地址:
其他的可用默认配置,保存后退出。
添加全局配置Global ToolConfiguration
配置JDK,不采用自动安装:
配置maven,不采用自动安装:
手动安装的git,web界面只需添加具体可执行路径即可
三、Springboot系统简单部署
系统设置完成后开始添加任务,任务类型选择自由风格:
创建完成后可在主页看到如下画面:
在”All” tab下能看到新建的任务,点击该任务,进入该任务的配置页面:
设置项目备注及构建规则:
配置项目的git地址并配置代码访问密码以及需要构建的分支:
配置构建触发器,如下图配置为每天晚上9:30开始构建(Cron表达式):
增加Invoke top-level Maven targets构建步骤,目标为项目构建打包,另外还可以配置构建时忽略测试用例:
增加构建后操作步骤:Send build artifacts over SSH,配置需要发布到的服务器主机(该插件需要自己安装配置,配置内容见下方):
参数说明:
Transfer SetSource files:表示要上传的本地的jar包及路径,可到工作空间去看。
Remove prefix:表示要上传时要去除的文件夹,即只上传jar包。
remote driectory:即表示执行时的路径,相当于把jar包上传到这里了。
exec commad:要执行的命令脚本(上面的命令只用于一次启动,重复部署时需要先关闭进程再部署,不然会出异常)。
(附)发布到的服务器配置
配置安装 打开jenkins首页,点击系统管理--系统设置,下拉找到找到publish over ssh,进行以下设置(请确保前面的步骤中publish over ssh插件已经安装成功,如果没有发现,那就是还没有安装成功,请返回去安装)。
以上即为本项目的所有配置,完成后应用(或保存)并退出。
配置完成后即可开始构建,左侧可查看构建历史:
点击立刻构建即可开始构建项目。点击consoleoutput,就可以看到成功上传jar包到远程Linux并且成功发布项目的信息了。
至此已完成所有jenkins配置。浏览器访问刚才发布的项目即可看到实际效果!
参考文档:
https://www.jianshu.com/p/d4f2953f3ce0
https://blog.youkuaiyun.com/qq_26848099/article/details/78901240
https://blog.youkuaiyun.com/hc_ttxs/article/details/79384535