Jenkins的部署方式

简介:

Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作,功能包括:

1、持续的软件版本发布/测试项目。

2、监控外部调用执行的工作。

jenkins是一个广泛用于持续构建的可视化web工具,持续构建说得更直白点,就是各种项目的"自动化"编译、打包、分发部署。jenkins可以很好的支持各种语言(比如:java, c#, php等)的项目构建,也完全兼容ant、maven、gradle等多种第三方构建工具,同时跟svn、git能无缝集成,也支持直接与知名源代码托管网站,比如github、bitbucket直接集成。

jenkins官网地址为http://jenkins-ci.org/,jenkins本身是用java语言开发的,所以安装jenkins的机器至少要有jdk,另外建议git、ant、maven、gradle、groovy等工具也一并安装好,方便与这些构建工具集成。


一、tomcat解压安装

1、安装jdk、ant、maven

1
2
3
4
5
6
7
8
[root@vm src] # ll jdk*
-rw-rw-r--. 1 root root 138439592 4月  12 11:11 jdk1.7.0_55.zzq. tar .gz
[root@vm src] # ll apache-*
-rw-r--r--. 1 root root 37857280 4月  12 16:10 apache-ant-1.9.6-bin. tar
-rw-r--r--. 1 root root 13506560 4月  12 16:18 apache-maven-3.3.9-src. tar
-rw-r--r--. 1 root root 14100480 4月  12 11:35 apache-tomcat-7.0.68. tar
[root@vm src] # pwd
/root/src
1
2
3
4
5
[root@vm src] # tar xf jdk1.7.0_55.zzq.tar.gz -C /opt/
[root@vm src] # tar xf apache-tomcat-7.0.68.tar -C /opt/
[root@vm src] # tar xf apache-maven-3.3.9-bin.tar.gz  -C /opt/
[root@vm src] # tar xf apache-ant-1.9.6-bin.tar -C /opt/
[root@vm src] # cd /opt/
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
cat  /etc/profile
 
 
JAVA_HOME= /opt/jdk1 .7.0_55
export  JAVA_HOME
PATH=$JAVA_HOME /bin :$PATH
export  PATH
ANT_HOME= /opt/apache-ant-1 .9.6
export  ANT_HOME
PATH=$ANT_HOME /bin :$PATH
export  PATH
MAV_HOME= /opt/apache-maven-3 .3.9
export  MAV_HOME
PATH=$MAV_HOME /bin :$PATH
export  PATH

2、减压tomcat

1
2
3
[root@vm src] # tar xf apache-tomcat-7.0.68.tar -C /opt/
[root@vm src] # cd /opt/apache-tomcat-7.0.68/webapps/
[root@vm webapps] # wget

访问方式:

http://172.16.162.129:8080/jenkins/


wKiom1cQn3iA8iYXAAHuXU7CBZo295.png


二、 yum 安装方式

这种方式下提供了更多的可配置选项,更适合生产环境控制jenkins的行为。

1
[root@vm ~] # wget -O /etc/yum.repos.d/jenkins.repo http://jenkins-ci.org/redhat/jenkins.repo

安装完整后,需要修改一些配置,因为我们有些东西不是默认的,比如jdk,我们使用的非系统默认安装的;同时也可以得到很多有用的信息

1
2
3
4
5
6
7
8
9
10
11
[root@vm ~] # rpm -ql jenkins
/etc/init .d /jenkins
/etc/logrotate .d /jenkins
/etc/sysconfig/jenkins
/usr/lib/jenkins
/usr/lib/jenkins/jenkins .war
/usr/sbin/rcjenkins
/var/cache/jenkins
/var/lib/jenkins
/var/log/jenkins
[root@vm ~] #

修改java程序位置:

1
2
3
4
5
6
7
8
9
10
11
12
13
#candidates="
#/etc/alternatives/java
#/usr/lib/jvm/java-1.6.0/bin/java
#/usr/lib/jvm/jre-1.6.0/bin/java
#/usr/lib/jvm/java-1.7.0/bin/java
#/usr/lib/jvm/jre-1.7.0/bin/java
#/usr/lib/jvm/java-1.8.0/bin/java
#/usr/lib/jvm/jre-1.8.0/bin/java
#/usr/bin/java
#"
candidates="
/opt/jdk1 .7.0_55 /bin/java
"

jenkins的启动身份问题

以 java -jar jenkins.war 这种方式启动时,默认会在当前用户根目录下,创建.jenkins目录,所有与jenkins相关的内容,包括配置文件,用户创建的数据都在该目录下,如果你切换另一个账号登录linux,然后重新启动,会发现之前所有创建的项目包括用户全没了,因为此时jenkins的工作目录切换到新用户的~/.jenkins下了,所以一般情况下,不要随意切换启动身份。

以 yum install安装的jenkins,由于工作目录是在/etc/sysconfig/jenkins里写死的,所以不存在这个问题,但是这种方式下,很多目录都是放在/var打头的位置,权限较少,如果出现无法写文件之类的错误,注意调整jenkins用户或目录的权限。


安全策略配置错误,导致无法使用jenkins的问题

有时候自己瞎折腾,把匿名用户的管理权禁止了,然后能登录的用户又忘记了勾选管理权限,这时就懵了,不要着急,进入~/.jenkins或/var/lib/jenkins,编辑config.xml 找到

1
<useSecurity> true < /useSecurity >

大致是第7行,然后把下面的二个节点改成:

1
2
<authorizationStrategy class= "hudson.security.AuthorizationStrategy$Unsecured" />
<securityRealm class= "hudson.security.SecurityRealm$None"  />

保存,然后重启jenkins,就ok了。

如果没有什么重要数据的话,也可以更暴力一点,把~/.jenkins或/var/lib/jenkins下把除plugins之外的目录全干掉即可,相当于除插件之外,所有内容全初始化。

wKioL1cQpR6ARAuQAAHLWT8eQ2g156.png

本文转自 西索oO 51CTO博客,原文链接:http://blog.51cto.com/lansgg/1859686



相关文章
|
1月前
|
运维 jenkins Java
Jenkins 自动化局域网管控软件构建与部署流程
在企业局域网管理中,Jenkins 作为自动化工具,通过配置源码管理、构建及部署步骤,实现了高效、稳定的软件开发与部署流程,显著提升局域网管控软件的开发与运维效率。
44 5
|
6月前
|
jenkins Java 测试技术
实现基于Jenkins的持续集成与部署
实现基于Jenkins的持续集成与部署
|
3月前
|
jenkins Java 持续交付
Jenkins打包,发布,部署
Jenkins打包,发布,部署
273 0
|
5月前
|
Kubernetes jenkins 持续交付
jenkins学习笔记之二十一:k8s部署jenkins及动态slave
jenkins学习笔记之二十一:k8s部署jenkins及动态slave
|
5月前
|
jenkins 持续交付 开发工具
"引爆效率革命!Docker+Jenkins+GIT+Tomcat:解锁持续集成魔法,一键部署Java Web应用的梦幻之旅!"
【8月更文挑战第9天】随着软件开发复杂度的增加,自动化变得至关重要。本文通过实例展示如何结合Docker、Jenkins、Git与Tomcat建立高效的持续集成(CI)流程。Docker确保应用环境一致性;Jenkins自动化处理构建、测试和部署;Git管理源代码版本;Tomcat部署Web应用。在Jenkins中配置Git插件并设置项目,集成Docker构建Tomcat应用镜像并运行容器。此外,通过自动化测试、代码质量检查、环境隔离和日志监控确保CI流程顺畅,从而显著提高开发效率和软件质量。
95 3
|
5月前
|
jenkins Java 持续交付
【一键搞定!】Jenkins 自动发布 Java 代码的神奇之旅 —— 从零到英雄的持续集成/部署实战秘籍!
【8月更文挑战第9天】随着软件开发自动化的发展,持续集成(CI)与持续部署(CD)已成为现代流程的核心。Jenkins 作为一款灵活且功能丰富的开源 CI/CD 工具,在业界应用广泛。以一家电商公司的 Java 后端服务为例,通过搭建 Jenkins 自动化发布流程,包括创建 Jenkins 项目、配置 Git 仓库、设置构建触发器以及编写构建脚本等步骤,可以实现代码的快速可靠部署。
199 2
|
5月前
|
负载均衡 jenkins 应用服务中间件
大规模部署下的 Jenkins 高可用性与负载均衡
【8月更文第31天】随着软件开发流程的加速,持续集成/持续交付(CI/CD)工具的重要性日益凸显。Jenkins 作为最受欢迎的 CI/CD 平台之一,为企业提供了强大的自动化构建和部署功能。然而,在大规模部署场景下,单一的 Jenkins 实例可能无法满足高可用性和性能的需求。本文将探讨如何设计和实施 Jenkins 高可用集群,以支持大型组织的需求,并通过负载均衡技术来提高系统的稳定性和响应速度。
363 0
|
6月前
|
Kubernetes jenkins 持续交付
Jenkins部署以及基本使用
Jenkins部署以及基本使用
195 7
|
5月前
|
jenkins Java 关系型数据库
jenkins学习笔记之十二:sonarqube9.9、SonarScanner4.8部署
jenkins学习笔记之十二:sonarqube9.9、SonarScanner4.8部署
|
5月前
|
jenkins 持续交付 网络安全
Jenkins——使用Docker部署Jenkins详解
Jenkins——使用Docker部署Jenkins详解
335 0