9.手动部署Java应用

什么java应用

java写的代码,称为java应用。
java需要进行编译。源码包(零件)-->maven编译(组装起来)-->war、jar包 -->才能发布到 Tomcat web服务。

手动部署java环境、手动进行代码发布过程

 0.环境准备
 1.模拟开发提交Java代码-->推送至gitlab
 2.运维克隆代码,然后通过maven手动编译
 3.运维通过scp的方式将代码推送至目标webserver集群
 
1.环境准备

在这里插入图片描述

配制负载均衡
vim /etc/nginx/conf.d/proxy_java.conf

upstream java {
 	server 192.168.xx.xxx:8080;
 	server 192.168.xx.xxx:8080;
 }

server {
 	listen 80;
 	server_name java.test.com;
 	location / {
 		proxy_pass http://java;
 		include proxy_params;
 	}
 }


配制webserver(tomcat)集群

每台节点都执行以下操作

https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-10/v10.0.27/bin/apache-tomcat-10.0.27.tar.gz 	 #下载tomcat

mkdir /soft

tar xf /opt/apache-tomcat-10.0.27.tar.gz -C /soft

ln -s /soft/apache-tomcat-10.0.27/ /soft/tomcat	#创建软连接

yum install java -y	#必须安装Java

/soft/apache-tomcat-10.0.27/bin/startup.sh		#启动tomcat 

简单修改一下首页,方便区别节点
vim /soft/apache-tomcat-10.0.27/webapps/ROOT/index.jsp
在这里插入图片描述

本地做域名劫持

192.168.xx.xxx java.test.com

查看效果

在这里插入图片描述

刷新页面

在这里插入图片描述



2.模拟开发提交Java代码–>推送至gitlab

在gitlab上新建一个项目,然后提交代码上去
在这里插入图片描述

上传代码至gitlab

测试用war包下载:https://github.com/efsavage/hello-world-war

cd hello-world-war-master 	#进入war包目录
git init
git remote add origin http://gitlab.test.com/ops/new-java.git
git add .
git commit -m "new java"
git push origin master

在这里插入图片描述


3.运维克隆代码,然后通过maven手动编译
克隆项目,在Jenkins上克隆代码

git clone git@gitlab.test.com:ops/new-java.git

手动编译

需要先安装maven
yum install maven -y

进入hello-world-war-master目录
cd /opt/hello-world-war-master

编译,跳过测试用例
mvn package -Dmaven.test.skip=true

在这里插入图片描述

编译中途可能会下载jar包,如果编译获取jar包很慢,那么修改仓库源地址为国内阿里云
vim /etc/maven/settings.xml

添加到159行就行
<mirror>
          <id>alimaven</id>
          <name>aliyun maven</name>
          <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
          <mirrorOf>central</mirrorOf>       
</mirror>

在这里插入图片描述

运维通过scp的方式将代码推送到目标webserver集群
vim cp.sh

for i in {xxx,xxx};
	do
	 scp target/*.war root@192.168.xx.$i:/opt/ROOT_$(date +%F-%H-%M).war;
	done

这里注意,包必须放到ROOT目录下
在这里插入图片描述

登录到每个web节点执行以下操作
cd /opt
mkdir ROOT_2023-02-13-21-57  #创建同名文件夹
unzip ROOT_2023-02-13-21-57.war -d ROOT_2023-02-13-21-57	#将包解压到同名文件夹下
rm -rf /soft/tomcat/webapps/ROOT/	#删掉ROOT目录
ln -s /opt/ROOT_2023-02-13-21-57 /soft/tomcat/webapps/ROOT	#创建软连接
pkill java		#干掉java
/soft/tomcat/bin/startup.sh	#重载服务
查看效果

在这里插入图片描述
刷新页面

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java中实现Activiti 7的手动部署可以通过以下步骤来完成: 1. 下载Activiti 7的最新版本,并将其添加到你的Java项目中的classpath中。 2. 在Java代码中,创建一个Activiti 7的配置类,并配置相关参数,例如: ``` @Configuration public class ActivitiConfig { @Bean public ProcessEngineConfigurationImpl processEngineConfiguration() { SpringProcessEngineConfiguration config = new SpringProcessEngineConfiguration(); config.setDataSource(dataSource()); config.setTransactionManager(transactionManager()); config.setDatabaseSchemaUpdate(ProcessEngineConfiguration.DB_SCHEMA_UPDATE_TRUE); config.setAsyncExecutorActivate(false); // 禁用异步执行器 return config; } @Bean public DataSource dataSource() { // 配置数据源 return ... } @Bean public PlatformTransactionManager transactionManager() { // 配置事务管理器 return ... } @Bean public ProcessEngineFactoryBean processEngine() { ProcessEngineFactoryBean factoryBean = new ProcessEngineFactoryBean(); factoryBean.setProcessEngineConfiguration(processEngineConfiguration()); return factoryBean; } @Bean public RepositoryService repositoryService() throws Exception { return processEngine().getObject().getRepositoryService(); } @Bean public RuntimeService runtimeService() throws Exception { return processEngine().getObject().getRuntimeService(); } @Bean public TaskService taskService() throws Exception { return processEngine().getObject().getTaskService(); } @Bean public HistoryService historyService() throws Exception { return processEngine().getObject().getHistoryService(); } @Bean public ManagementService managementService() throws Exception { return processEngine().getObject().getManagementService(); } @Bean public IdentityService identityService() throws Exception { return processEngine().getObject().getIdentityService(); } @Bean public FormService formService() throws Exception { return processEngine().getObject().getFormService(); } } ``` 3. 以上面的配置类为例,在你的Java代码中使用注入的服务来管理流程和任务,例如: ``` @Autowired private RuntimeService runtimeService; public void startProcessInstance(String processDefinitionKey) { runtimeService.startProcessInstanceByKey(processDefinitionKey); } ``` 4. 运行你的Java应用程序,并访问Activiti 7的REST API或UI来管理流程和任务。 希望这个回答能够帮助您在Java中实现Activiti 7的手动部署

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值