jenkins+svn部署 linux

本文介绍了如何在Linux环境下配置JDK11,包括下载、安装、配置环境变量以及验证安装。接着讲解了Jenkins的war包部署,如何启动与停止服务,以及如何修改默认工作空间。同时,针对Jenkins空间不足的问题,提供了手动清理构建历史的方法。

1、jenkins.war包最新版的 需要适配jdk[11-17] 不要安装jdk1.8不然你会伤心的,可以直接到官网下载,笔百度网盘快
我的jenkins是jdk-11.0.18_linux-x64_bin.tar.gz
ftp上传入服务器,新建目录:我是usr/local/env下 解压

tar -zxvf  jdk-11.0.18_linux-x64_bin.tar.gz

配置环境

vim  /etc/profiles
JAVA_HOME=/usr/local/java/jdk8
PATH=$JAVA_HOME/bin:$PATH:${MAVEN_HOME}/bin:$PATH
CLASSPATH=$JAVA_HOME/lib:$CLASSPATH
export PATH JAVA_HOME CLASSPATH MAVEN_HOME

(使得其生效)source /etc/profile
查看是否安装成功:java -version

验证jdk11安装成功了

如果系统中有原来的,
检查系统是否自带了 JDK。输入命令java -verison
sudo rpm -qa | grep java | xargs rpm -e --nodeps(全部删除)
2、jenkins我是直接搞了个jenkins.war包运行了。服务文件啥的找不到,只有一个Home目录什么的没有(原因:第一次安装了低级版本,有些插件不能用,替换war包一通升级jenkins死了,换了个机器重新搞,呜呜)
例如:我都不能用

cd /etc/init.d
./jenkins start
执行 systemctl daemon-reload 命令重新加载配置文件
执行 sudo systemctl start jenkins 命令启动Jenkins
执行 systemctl status jenkins.service 命令查看Jenkins服务的状态

我的jenkins启动

当前窗口  java -jar /usr/local/env/jenkins.war --httpPort=8080
后台不挂断  nohup java -jar /usr/local/env/jenkins.war --httpPort=8080 &
杀死  ps -ef |grep -v grep | grep jenkins | awk '{print $2}' | xargs kill -s 9 >/dev/null 2>&1

最好选择none,跳过插件安装,据说会慢

3、修改jenkins默认工作空间

# 进入到Jenkins工作空间
cd /root/.jenkins/
# 找到config.xml文件,该文件为Jenkins的配置文件,你改吧,我改的环境变量
cat /root/.jenkins/config.xml

优雅的修改方式是添加JENKINS_HOME环境变量

vi /etc/profile 
# 在文件末尾追加一下内容:
export JENKINS_HOME=/var/lib/jenkins(我的)
# 刷新环境变量,及时生效
source /etc/profile
# 直接输入(显示目录则环境配置生效)
${JENKINS_HOME}
#删除原来的
rm -rf /root/.jenkins

也可以去jenkins-web页面看系统信息,路径变了

3、jenkins空间full
①手动:在管理jenkins,控制台脚本—》运行以下代码
//删除jobName构建项目XXX,40次以内的记录(1——39没了)
def jobName = “XXXX”
def maxNumber = 40
Jenkins.instance.getItemByFullName(jobName).builds.findAll {
it.number <= maxNumber
}.each {
it.delete()
}
②项目配置——》丢弃旧的构建;
可以选择保存多少天的,最多保存多少个构建条目
③手动上机器上删除大的文件

从根目录开始,使用du -h -x --max-depth=1 查看哪个目录占用过高,对于过高目录中的内容适当删减腾出一些空间
针对jenkins,进入jenkins的工作空间
手工删除构建记录,构建记录位于jenkins工作空间\jobs\XXX\builds中(其中XXX为具体项目名称)。根据需要直接删除对应的构建历史即可

### JenkinsSVN 集成用于前端项目的持续集成配置 #### 准备工作 在配置 JenkinsSVN 集成之前,确保以下组件已正确安装并配置: - **Subversion (SVN)**:版本控制系统,用于代码的版本管理。 - **Jenkins**:持续集成工具,用于自动化构建和部署流程。 - **Node.js**:前端项目通常需要 Node.js 环境来执行构建脚本(如 `npm run build`)。 - **Tomcat**:用于部署前端项目,尤其是当项目需要通过 Web 服务器提供服务时。 #### 配置步骤 ##### 1. 安装必要的插件 Jenkins 需要一些插件来支持与 SVN 和前端项目的集成: - **SVN 插件**:用于从 SVN 仓库中拉取代码。 - **Node.js 插件**:用于在 Jenkins 中配置 Node.js 环境。 - **Deploy to Container Plugin**:用于将构建后的项目部署到 Tomcat 服务器。 插件可以通过 Jenkins 的插件管理界面安装。在安装插件时,确保选择与当前 Jenkins 版本兼容的插件版本 [^3]。 ##### 2. 配置 SVN 仓库 在 Jenkins 中创建一个新的任务(Job),并配置 SVN 仓库的访问信息: - **SVN 仓库地址**:输入 SVN 仓库的 URL,例如 `svn://localhost/myproject`。 - **认证信息**:输入 SVN 仓库的用户名和密码,确保 Jenkins 有权限访问仓库 [^1]。 ##### 3. 配置 Node.js 环境 在 Jenkins 的全局工具配置中,添加 Node.js 的安装路径或让 Jenkins 自动下载并安装: - **Node.js 版本**:选择适合项目的 Node.js 版本。 - **npm 脚本**:在构建步骤中,使用 `npm install` 安装依赖,并使用 `npm run build` 执行构建脚本。 ```bash # 示例:在 Jenkins 的构建步骤中执行的命令 npm install npm run build ``` ##### 4. 配置 Tomcat 部署 使用 **Deploy to Container Plugin** 插件将构建后的项目部署到 Tomcat 服务器: - **Tomcat 服务器地址**:输入 Tomcat 服务器的 URL,例如 `http://localhost:8080`。 - **认证信息**:输入 Tomcat 的用户名和密码,确保 Jenkins 有权限部署项目。Tomcat 的用户权限需要在 `tomcat-users.xml` 文件中配置 [^2]。 ```xml <!-- 示例:Tomcat 的 tomcat-users.xml 配置 --> <role rolename="manager-gui"/> <role rolename="manager-script"/> <role rolename="manager-jmx"/> <role rolename="manager-status"/> <user username="tomcat_user" password="123456" roles="manager-gui,manager-script,manager-jmx,manager-status"/> ``` ##### 5. 配置构建后操作 在 Jenkins 任务的构建后操作中,选择 **Deploy war/ear to a container**,并选择 Tomcat 7 或更高版本作为目标容器。确保输入的 Tomcat 地址和认证信息正确无误 [^2]。 ##### 6. 测试构建和部署 点击 Jenkins 任务的 **立即构建** 按钮,触发一次构建任务。构建完成后,检查控制台输出以确认构建和部署是否成功。可以通过访问 Tomcat 服务器的 URL 来验证前端项目是否已正确部署 [^2]。 #### 示例:Jenkinsfile 配置 对于更复杂的项目,可以使用 Jenkins Pipeline 来定义构建流程。以下是一个简单的 Jenkinsfile 示例: ```groovy pipeline { agent any stages { stage('Checkout') { steps { checkout([$class: 'SubversionSCM', locations: [[remote: 'svn://localhost/myproject', local: '.', credentialsId: 'svn-credentials']]]) } } stage('Install Dependencies') { steps { sh 'npm install' } } stage('Build') { steps { sh 'npm run build' } } stage('Deploy') { steps { deploy adapters: [tomcat9Adapter(url: 'http://localhost:8080', credentialsId: 'tomcat-credentials')], contextPath: '/myproject', war: 'dist/*.war' } } } } ``` #### 注意事项 - **权限问题**:确保 Jenkins 有权限访问 SVN 仓库和 Tomcat 服务器。SVN 的 `svnserve.conf` 文件中需要配置 `anon-access = none` 以禁用匿名访问 [^1]。 - **编码问题**:在 Tomcat 的 `server.xml` 文件中,确保 `URIEncoding="UTF-8"` 以支持中文路径 [^1]。 - **依赖管理**:前端项目通常依赖于第三方库,确保 `package.json` 文件中的依赖项正确无误。 - **构建环境**:如果 Jenkins 运行在不同的环境中(如 Windows 和 Linux),确保构建脚本兼容所有环境。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值