linux 下安装Jenkins 并且持续集成项目(详细)
官方解释
Jenkins 和Hudson
目前最流行的一款持续集成及自动化部署工具。
Jenkins 和Hundson 之间的关系:2009 年,甲骨文收购了Sun 并继承了Hudson 代
码库。在2011 年年初,甲骨文和开源社区之间的关系破裂,该项目被分成两个独立的
项目:
Jenkins:由大部分原始开发人员组成
Hudson:由甲骨文公司继续管理
所以Jenkins 和Hudson 是两款非常相似的产品。
Jenkins 可以整合GitHub 或Subversion
Husband 也可以整合GitHub 或Subversion
二者既然是同源的工具软件,操作和指导思想就是接近的,所以本教程通过Jenkins
准备工作
首先安装jdk 和 maven
详细过程同样省略,仅记录 Tomcat 服务器的账号密码 配置文件位置:
tomcat 目录下conf/tomcat-users.xml 添加以下内容
<rolerolename="manager-gui"/>
<rolerolename="manager-script"/>
<rolerolename="manager-jmx"/>
<rolerolename="manager-status"/>
<user username="tomcat_user" password="123456" roles="manager-gui,manager-script,manager-jmx,manager-status"/>
Jenkins 安装
下载 jenkins 并且安装
本文使用rpm安装包的形式进行安装
jenkins 下载地址
rpm包下载地址-飞机直达
官方地址可以下到 .war 文件
我这里下载的是最新包
jenkins-2.206-1.1.noarch.rpm
安装:
rpm -ivh jenkins-2.206-1.1.noarch.rpm
修改配置:
vi /etc/sysconfig/jenkins
#修改jenkins默认的操作用户,linux下jenkins默认使用jenkins用户进行脚本和文件的操作,如果不修改,在部署项目时需要调整涉及到的文件和目录的操作权限,可以调整jenkins配置文件,将用户修改为root用户。
JENKINS_USER="root" #最好使用root
JENKINS_PORT="8888" #默认的是8080 看你心情
以上配置都改好了我们可以启动了,报错内容如下
#常用命令
systemctl start jenkins #启动
systemctl stop jenkins #关闭
systemctl restart jenkins #重启
根据提 "systemctl status jenkins.service"示查询错误,没有找到我的java的安装路径(我的Java 是安装在/usr/local/下的)
通过whereis java 指令获取Java位置
通过指令,添加jdk路径
vi /etc/init.d/jenkins
#修改好之后reload一下
systemctl daemon-reload
#启动
systemctl start jenkins #没有报错说明启动成功!!
开放端口,并重启防火墙
CentOS 7 防火墙相关操作
#演示
firewall-cmd --zone=public --add-port=8888/tcp --permanent #8888 刚才设置的端口
service firewalld restart #重启
访问Jenkins 并且配置相关信息
访问jenkins
- IP +端口
cat /var/lib/jenkins/secrets/initialAdminPassword # 获取验证
- 选择安装推荐插件
- 会自动下载 相关插件 ,【不成功也没关系,待会进入界面也可以安装 】
- 安照提示一部一步走……
主界面可能是英文,需要下载中文插件 !!!!!
** 配置全部变量 **
- 配置Maven
- JDK
- Maven
- 安装 Deploy to container
选中直接安装就可以了!!!
创建一个新任务
- 起一个名字,选中如图所示的那一项
总览
1.源码管理- 选择SVN ,添加SVN账户
- 选择SVN ,添加SVN账户
- 构建选择刚才配置的maven 。
- 先构建一次,第一次构建比较慢。
4. 构建后操作(通过Deploy 将war包传入tomcat中)
5.重新构建验证结果
从上图可以看到项目打包成功,但是上传到tomcat中失败,经过分析发现从tomcat添加了验证
根据提示,我们需要在tomcat安装目录下的conf/tomcat-users.xml配置文件中增加用户角色和用户。
另外,还需要修改webapps/manager/META-INF/context.xml配置文件,修改访问地址的限制。
<Context antiResourceLocking="false" privileged="true" >
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="^.*$" />
</Context>
在tomcat 目录的/webapps 中可以看到发布的项目!
触发器的相关操作会在后续讲到……