linux下jenkins+码云/svn+maven+tomcat自动化部署

2024-04-25 21:48

本文主要是介绍linux下jenkins+码云/svn+maven+tomcat自动化部署,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1、配置jdk

1)解压jdk,我用的是jdk1.8,使用命令tar xf jdk-8u171-linux-x64.tar.gz 

2)配置环境变量

vim /etc/profile

PATH=$JAVA_HOME/bin:$PATH

export JAVA_HOME=/usr/local/jdk1.8.0_171

export JAVA_BIN=/usr/local/jdk1.8.0_171/bin

export PATH=$JAVA_HOME/bin:$PATH

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

3)环境变量生效

source /etc/profile

4)查看jdk是否安装成功

 java -version

2、安装svn

ps:我使用的是yum安装

1)rpm -qa subversion //检查是否安装了低版本的SVN

yum remove subversion //如果存储旧版本,卸载旧版本SVN

2)开始安装

yum -y install subversion

svnserve --version //查看版本

 

3)创建版本仓库(project设置为项目名)

mkdir -p /data/svn/project

svnadmin create /data/svn/project/

 

4)配置文件

进入到/data/svn/project/conf

①svnserve.conf

 

[general]

anon-access = none

auth-access = write

password-db = passwd

authz-db = authz

 

②passwd

创建一个名为subman,密码为123123

[users]

subman = 123123

③authz

[/]

subman = rw

* =

 

5)启动svn

启动svn:svnserve -d -r /data/svn

查看:lsof -i:3690

 

客户端访问地址:svn://192.168.1.107/project

3、使用git

ps:必须要将jenkins部署到外网,因为内网地址git无法访问

1)安装git,因为要从码云或者git上拉取代码

 第一步: 安装编译 git 时需要的包

yum install -y curl-devel expat-devel gettext-devel openssl-devel zlib-devel

yum install -y gcc perl-ExtUtils-MakeMaker

 第二步: 删除已有的 git

yum remove git

 第三步: Git 官网下载 Git 最新版 tar 包, 移动到/usr/src 目录下

cd /usr/src

tar -zxvf git-2.9.3.tar.gz

 第四步: 编译安装(目录:/usr/local/git)

cd git-2.9.3

make prefix=/usr/local/git all

make prefix=/usr/local/git install

echo "export PATH=$PATH:/usr/local/git/bin" >> /etc/bashrc//写入环境变量中

source /etc/bashrc

 第五步: 检查一下版本号

git --version

 

 

4、jenkins安装、配置

1)安装
 把 jenkins.war 放在 Tomcat 解压目录/webapps 目录下
 打开 Tomcat 解压目录/server.xml 修改 URL 地址的编码

vim /opt/tomcat/conf/server.xml
71 <Connector port="8080" protocol="HTTP/1.1"
72 connectionTimeout="20000"
73 redirectPort="8443" URIEncoding="UTF-8"/>


 启动 Tomcat 并通过浏览器访问

jenkins启动报找不到文件路径

解决方法:需要在tomcat文件夹下,创建一个叫tmp的文件夹


 网址示例: http://192.168.70.131:8080/jenkins

自定义安装jenkis,选择安装推荐的插件

创建管理员,可以继续使用admin账号

下面开始进行配置

ps:我设置完上面的后,刷新页面后,发现页面空白,解决方法:

cd /root/.jenkins/

打开config.xml文件

<useSecurity>true</useSecurity>

<authorizationStrategy class="hudson.security.AuthorizationStrategy$Unsecured"/>

<securityRealm class="hudson.security.HudsonPrivateSecurityRealm">

<disableSignup>true</disableSignup>

<enableCaptcha>false</enableCaptcha>

</securityRealm>

<authorizationStrategy class="hudson.security.AuthorizationStrategy$Unsecured"/>

这个权限对应“任何用户可以做任何事(没有任何限制)”

 

2)全局安全配置

3)全局工具配置

①maven

先将maven的包解压,然后配置,记得到settings.xml文件

②jdk

③git或者svn(我用的git)

3)安装插件

在未安装中查找到Deploy to contailner(用于构建后的操作)

4)创建任务:git跟svn一样配置

5)构建:

goals:使用maven的命令

我这里又给配置了shell脚本(里面是将jenkins打包的war包项目复制到tomcat下,然后tomcat的重启)

shell脚本内容:

#!/bin/sh
tomcat_home=/usr/local/tomcat
#【3.1】 停止tomcat变量
SHUTDOWN=$tomcat_home/bin/shutdown.sh
#【3.2】 启动tomcat变量
STARTTOMCAT=$tomcat_home/bin/startup.sh

sudo cp -f /root/.jenkins/workspace/mdm/target/Apple.war /usr/local/tomcat/webapps/Apple.war
chmod -R 777 /usr/local/tomcat/webapps/Apple.war

$SHUTDOWN
sleep 10
$STARTTOMCAT

这样就不用去使用构建后的操作了

6)构建后的操作

①先将tomcat配合一个用户,打开在conf下的文件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" />

下面去点击立即构建就可以从git或svn上自动拉取新的项目了

7)构建触发器

这个地址用于svn或者git连接

svn:复制post-commit文件

git:

url为上面的地址

这样,项目一提交到svn或者git上,jenkins就可以自动去发布新项目了

 

以上步骤所需的压缩包地址下载:

链接: https://pan.baidu.com/s/1KTT5t-c590VBtD9FRwVNnQ 提取码: 23xf 

如果链接失效,请给我留言

 

 

 

 

 

 

这篇关于linux下jenkins+码云/svn+maven+tomcat自动化部署的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/935888

相关文章

通过Docker容器部署Python环境的全流程

《通过Docker容器部署Python环境的全流程》在现代化开发流程中,Docker因其轻量化、环境隔离和跨平台一致性的特性,已成为部署Python应用的标准工具,本文将详细演示如何通过Docker容... 目录引言一、docker与python的协同优势二、核心步骤详解三、进阶配置技巧四、生产环境最佳实践

Nginx部署HTTP/3的实现步骤

《Nginx部署HTTP/3的实现步骤》本文介绍了在Nginx中部署HTTP/3的详细步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录前提条件第一步:安装必要的依赖库第二步:获取并构建 BoringSSL第三步:获取 Nginx

防止Linux rm命令误操作的多场景防护方案与实践

《防止Linuxrm命令误操作的多场景防护方案与实践》在Linux系统中,rm命令是删除文件和目录的高效工具,但一旦误操作,如执行rm-rf/或rm-rf/*,极易导致系统数据灾难,本文针对不同场景... 目录引言理解 rm 命令及误操作风险rm 命令基础常见误操作案例防护方案使用 rm编程 别名及安全删除

Linux下MySQL数据库定时备份脚本与Crontab配置教学

《Linux下MySQL数据库定时备份脚本与Crontab配置教学》在生产环境中,数据库是核心资产之一,定期备份数据库可以有效防止意外数据丢失,本文将分享一份MySQL定时备份脚本,并讲解如何通过cr... 目录备份脚本详解脚本功能说明授权与可执行权限使用 Crontab 定时执行编辑 Crontab添加定

使用docker搭建嵌入式Linux开发环境

《使用docker搭建嵌入式Linux开发环境》本文主要介绍了使用docker搭建嵌入式Linux开发环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录1、前言2、安装docker3、编写容器管理脚本4、创建容器1、前言在日常开发全志、rk等不同

使用Python实现Word文档的自动化对比方案

《使用Python实现Word文档的自动化对比方案》我们经常需要比较两个Word文档的版本差异,无论是合同修订、论文修改还是代码文档更新,人工比对不仅效率低下,还容易遗漏关键改动,下面通过一个实际案例... 目录引言一、使用python-docx库解析文档结构二、使用difflib进行差异比对三、高级对比方

redis-sentinel基础概念及部署流程

《redis-sentinel基础概念及部署流程》RedisSentinel是Redis的高可用解决方案,通过监控主从节点、自动故障转移、通知机制及配置提供,实现集群故障恢复与服务持续可用,核心组件包... 目录一. 引言二. 核心功能三. 核心组件四. 故障转移流程五. 服务部署六. sentinel部署

Python自动化处理PDF文档的操作完整指南

《Python自动化处理PDF文档的操作完整指南》在办公自动化中,PDF文档处理是一项常见需求,本文将介绍如何使用Python实现PDF文档的自动化处理,感兴趣的小伙伴可以跟随小编一起学习一下... 目录使用pymupdf读写PDF文件基本概念安装pymupdf提取文本内容提取图像添加水印使用pdfplum

Maven中生命周期深度解析与实战指南

《Maven中生命周期深度解析与实战指南》这篇文章主要为大家详细介绍了Maven生命周期实战指南,包含核心概念、阶段详解、SpringBoot特化场景及企业级实践建议,希望对大家有一定的帮助... 目录一、Maven 生命周期哲学二、default生命周期核心阶段详解(高频使用)三、clean生命周期核心阶

基于Python实现自动化邮件发送系统的完整指南

《基于Python实现自动化邮件发送系统的完整指南》在现代软件开发和自动化流程中,邮件通知是一个常见且实用的功能,无论是用于发送报告、告警信息还是用户提醒,通过Python实现自动化的邮件发送功能都能... 目录一、前言:二、项目概述三、配置文件 `.env` 解析四、代码结构解析1. 导入模块2. 加载环