[小白]Java自动部署之-流水线[超详细]

7 篇文章 0 订阅
本文介绍了如何使用阿里云Flow流水线简化Maven构建和部署过程,包括从代码仓库获取、自动打包、上传到服务器、执行部署脚本,特别关注了分布式项目中jar包路径调整的问题。
摘要由CSDN通过智能技术生成

前言

个人博客:www.wdcdbd.com

 devops文档链接:https://pan.baidu.com/s/12kOXbduI6daJBXQ0FWJaig?pwd=1234 
    提取码:1234

在我们开发写代码的时候,可以在本地启动,这样似乎挺方便的,但是如果我们想要部署到服务器上就很费劲了,不但要maven构建和将.jar包发布上去,还要重启等一系列麻烦的操作。反复操作还会对自己服务器的SEO权重降低。话不多说,直接开始。

流水线理解

 流水线,可以理解为一键maven构建,并且将jar自动启动的运行的一个整体流程,统称为流水线。而比较完善的流水线就是devops了。但devops搭建起来很麻烦,吃服务器。所以一般公司都会使用阿里云云效Flow流水线。这个自己搭建的devops我会在上述中的网盘中放一个word文档,如果感兴趣可以下载一下看一看就行了。

Flow流水线

前提

使用flow流水线,我们要准备3个东西,gitee|github|自定义仓库 代码服务器

Flow流程

1.获取到你在仓库中的代码---------->2.通过maven构建打包(package)----->3.将package上传到服务器----->4.自动执行部署脚本。

操作

首先,进入这个aliyun的官方网址  云效流水线_企业级持续集成工具-阿里云 (aliyun.com)

点击新建流水线

 添加流水线源

删除Maven单元测试

 

 Java代码扫描

在代码扫描中可以选定JDK版本和Maven版本。规则集合是默认的

Java构建上传

自定义脚本,我在上篇文章中已经详细的写出来了,可以去参考该文章。讲的很细在这里我就不多叙述了。[含完整代码]Linux使用.sh脚本自动部署(启动|停止|状态|日志)项目[超详细]-CSDN博客

将写好的脚本,放到你项目中,位置随意,只要能够被路由到就行。我就放到根目录了。 

 项目目录

 java主机部署

 

新建主机组

当第一次新建主机组的时候,会让你选择,不是aliyun的就选第二个  

阿里云新建主机组文档流水线如何部署到阿里云ECS_云效(Apsara Devops)-阿里云帮助中心 (aliyun.com)

自有主机新建主机组文档流水线如何部署到公网主机_云效(Apsara Devops)-阿里云帮助中心 (aliyun.com) 

 

创建完成之后,添加主机

 

根据他指定的步骤一步一步来即可。 

 

编写脚本

主机组创建好之后,配置到主机部署中,然后编写自己的部署脚本

 
# 创建文件夹 什么地方都可以,按你自己的来
mkdir -p /home/admin/application
# 将.tgz解压到 指定位置 
tar zxvf /home/admin/app/package.tgz -C /home/admin/application/
#  执行脚本命令
sh /home/admin/application/Three.sh stop
# 执行脚本命令
sh /home/admin/application/Three.sh start

保存并运行

 

问题

又回来补充了一下问题:当我的项目为分布式时,会有多个子项目

所以,在使用流水线的时候,发现我的jar包在web/target/web.jar 多了几层目录,所以我们写的.sh脚本要找对路径哦 

 

 

 

 

 

 

  • 21
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是Kubernetes部署Zabbix Server的详细步骤和YAML文件: 1. 创建PV和PVC 在Kubernetes上部署Zabbix Server,需要使用持久卷(PV)和持久卷声明(PVC)来存储数据。下面是一个示例PVC YAML文件: ``` apiVersion: v1 kind: PersistentVolumeClaim metadata: name: zabbix-db-pvc spec: accessModes: - ReadWriteOnce resources: requests: storage: 10Gi ``` 使用kubectl命令创建PVC: ``` kubectl apply -f zabbix-db-pvc.yaml ``` 2. 创建ConfigMap Zabbix Server需要使用一些配置文件,可以将这些文件打包为一个ConfigMap。下面是一个示例ConfigMap YAML文件: ``` apiVersion: v1 kind: ConfigMap metadata: name: zabbix-server-config data: zabbix_server.conf: | DBHost=zabbix-db DBName=zabbix DBUser=zabbix DBPassword=zabbix AlertScriptsPath=/usr/lib/zabbix/alertscripts ExternalScripts=/usr/lib/zabbix/externalscripts ``` 使用kubectl命令创建ConfigMap: ``` kubectl apply -f zabbix-server-configmap.yaml ``` 3. 创建Deployment和Service 下面是一个示例Deployment YAML文件: ``` apiVersion: apps/v1 kind: Deployment metadata: name: zabbix-server spec: replicas: 1 selector: matchLabels: app: zabbix-server template: metadata: labels: app: zabbix-server spec: containers: - name: zabbix-server image: zabbix/zabbix-server-mysql:latest volumeMounts: - name: zabbix-db-data mountPath: /var/lib/mysql - name: zabbix-server-config mountPath: /etc/zabbix/zabbix_server.conf subPath: zabbix_server.conf env: - name: MYSQL_DATABASE value: zabbix - name: MYSQL_USER value: zabbix - name: MYSQL_PASSWORD value: zabbix - name: MYSQL_HOST value: zabbix-db - name: MYSQL_PORT value: "3306" ports: - containerPort: 10051 volumes: - name: zabbix-db-data persistentVolumeClaim: claimName: zabbix-db-pvc - name: zabbix-server-config configMap: name: zabbix-server-config ``` 使用kubectl命令创建Deployment: ``` kubectl apply -f zabbix-server-deployment.yaml ``` 下面是一个示例Service YAML文件: ``` apiVersion: v1 kind: Service metadata: name: zabbix-server spec: selector: app: zabbix-server ports: - name: zabbix port: 10051 protocol: TCP targetPort: 10051 ``` 使用kubectl命令创建Service: ``` kubectl apply -f zabbix-server-service.yaml ``` 这样,Zabbix Server就成功部署到了Kubernetes上。可以使用kubectl命令查看Deployment和Service状态: ``` kubectl get deployments kubectl get services ``` 如果一切正常,应该能够看到Zabbix Server的Deployment和Service都处于“运行中”状态。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值