maven代码管理安装maven,封装jar包,组件管理/jenkins自动化部署,登录测试,对接gitee,封装jar包,网站前后台页面编译

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

一、代码管理
一、Maven部署


1、安装maven

[root@jumpserver ~]# ssh -p2222 operation@192.168.1.252
operation@192.168.1.252's password: 
Opt> p          #输入p
  ID  | 主机名                                   | IP            | 平台     | 组织     | 备注    
------+------------------------------------------+---------------+----------+----------+---------
  1   | harbor                                   | 192.168.1.30 | Linux    | Default  |         
  2   | nacos                                    | 192.168.1.13  | Linux    | Default  |         
  3   | rocketmq                                 | 192.168.1.14  | Linux    | Default  |         
  4   | test                                     | 192.168.1.101 | Linux    | Default  |         
页码:1,每页行数:21,总页数:1,总数量:4
提示:输入资产ID直接登录,二级搜索使用 // + 字段,如://192 上一页:b 下一页:n
搜索:
[Host]> 4   #进入test主机
[op@test ~]$ sudo -s
    
拷贝软件到test主机
[root@jumpserver ~]# scp /root/package/node-v16.13.0-linux-x64.tar.gz /root/package/apache-maven-3.6.3-bin.tar.gz  /root/package/jenkins* /root/package/repository.tar.gz 192.168.1.101:/root/


#安装Maven
[root@test op]# cd /root/
[root@test ~]# tar -xf apache-maven-3.6.3-bin.tar.gz
[root@test ~]# mv apache-maven-3.6.3 /usr/local/maven

#设置Maven环境变量
#安装JDK11环境并配置RocketMQ环境变量
[root@test op]# yum -y install java-11-openjdk-devel
[root@test op]# ln -s /usr/lib/jvm/java-11-openjdk-11.0.19.0.7-4.el8.x86_64/ /usr/lib/jvm/jdk11         #创建JDK环境软链接
[root@test op]# vim /etc/bashrc     #文件末尾添加
...
export JDK11_HOME="/usr/lib/jvm/jdk11"
export MAVEN_HOME="/usr/local/maven"
export PATH=${JDK11_HOME}/bin/:${MAVEN_HOME}/bin/:$PATH
[root@test op]# source /etc/bashrc

#测试Maven
[root@test ~]# mvn -v
Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)
Maven home: /usr/local/maven
Java version: 1.8.0_372, vendor: Red Hat, Inc., runtime: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.372.b07-4.el8.x86_64/jre
Default locale: en_US, platform encoding: ANSI_X3.4-1968
OS name: "linux", version: "4.18.0-372.26.1.el8_6.x86_64", arch: "amd64", family: "unix"


#配置Maven本地仓库
[root@test op]# vim /usr/local/maven/conf/settings.xml 
 55   <localRepository>/usr/local/maven/repository/</localRepository>

#由于使用了公司内部nexus,所以直接解压/root/repository.tar.gz,把里面的内容放到/usr/local/maven/即可
[root@test op]# tar -xf /root/repository.tar.gz -C /usr/local/maven/


2、代码准备

geitest主机绑定公网IP,拉取代码(由于之前可以已经购买公网ip,绑定多次,此次不再重复截图)

拉取代码
[root@test op]# cd /root/
[root@test ~]# yum -y install git
[root@test ~]# git clone https://gitee.com/cc-0001/tea
[root@test ~]# ls tea/code/backend/
tarena-passport         #验证码
tarena-tp-attach        #附件中心
tarena-tp-tea           #商品服务

[root@test ~]# ls tea/code/page/
backend-page            #商品管理后台
front-page              #商品前台页面


1、商品服务组件

#编写配置文件
[root@test ~]# cd /root/tea/code/backend/tarena-tp-tea/
[root@test tarena-tp-tea]# vim tea-server/tea-server-main/src/main/resources/application-vm.yaml  
spring:
  # 数据源配置
  datasource:
    url: jdbc:mysql://192.168.1.12:3306/tarena_tp_tea?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&allowMultiQueries=true&allowPublicKeyRetrieval=true
    username: teauser
    password: Taren123
    driver-class-name: com.mysql.cj.jdbc.Driver
    hikari:
      minimum-idle: 1
      auto-commit: true
      idle-timeout: 600000
      minimum: 5
      max-lifetime: 1800000
      #数据库连接超时时间,默认30秒,即30000
      connection-timeout: 120000
      connection-test-query: SELECT 1 FROM DUAL

  redis:
    host: 192.168.1.147    #此地址写自己redis的负载均衡地址
    port: 6379
    password: "Taren123"
    database: 8
    jedis:
      pool:
        max-active: 8
        min-idle: 5
        max-idle: 8
        max-wait: PT15M
        time-between-eviction-runs: PT15M
rocketmq:
  name-server: 192.168.1.14:9876
  producer:
    group: ${spring.application.name}


mq:
  auto-close-delay-level: 15
  group:
    auto-close: order-auto-close-group
    success-paid: success-paid-group
  topic:
    pay-success-paid-topic: pay-success-paid
    order-cancel-topic: order-cancel-topic
    auto-close-topic: order-auto-close-topic
    order-success-paid-topic: order-success-paid-topic

pay:
  publicFilePath: '/usr/local/project/tea/publicKey.txt'
  redirectPath: 'https://dev-cs-pay-center.tctm.life/payCenter/queryOrderInfo'


#url相关
image_path: /home/images/project/tea_attach/
url: http://122.9.48.80:30080/tea_attach/   #写自己华为云负载均衡ELB的IP


jwt:
  rsa:
    enabled: true
    private-key: |
      -----BEGIN PRIVATE KEY-----
      MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBANAn5giVT7oy/drc
      o0evOFJUYSnHLbYtXG4MUuEUM2QdGX9d1q3y5k9orwX3wrt4WP4gIkQdB0EzQApp
      WZMUbbVsibVWkVSTQ5aInPgjLjfaDlcP5U4Z1hh3QiPZ01i3AWYY8HS+2SBIlRLH
      S5X0MjZkdbOVEPODU73JNSjFKz4XAgMBAAECgYBwXblt1LxPNYuYBBcYcVwkBWzW
      ErF4cJA+z+RFoJQFbTgAa3WiPUdagpZI0HCMpvDTbiFRR6JM7g+aDzjNju+RUCW9
      0iaDrB5vKyh3INMzcdCfm4btGectxb/ZCYFkXPBvqtqzK/H9ANk/Xlq1KFw0O2x2
      fgV7swYuiZ3kSYLbEQJBAPx2gXPkpraqEPmt//ce7AP5fHxC8Td2JFROsRfyweJP
      0dUdiLDgMxwpFZIhidU1sJBWX62Vqv6Jh/MvoMBhttsCQQDTEnqy9P+VAS1huYkl
      XwWjbZKxHEIaxW+Bg/ombXLhGudpy+chHFy4QEgA1Puda7kxgcTMhRj1i1EliytB
      ecR1AkEA9STJPNS4wURQKXG4y6f9+zoFk8+Y1IbmberfcWaqt2tUUEFWWpHJbz3B
      kVz5rstsgCsuyqo7GOBI323PBR+c4wJBAJxA3dyFSn+AM5xYwZKM2Zu2jhXXGYjA
      CGAU16aC97x1MkM704rLeEheLe+PvAU5rgtcSdgt3+BGlnf4orkB79ECQE2uNOTP
      enyfRVLgN0j3ZLSyOSqw+kqGsoU2jpcxFCGy0RGk3z1fHVccHfspqCA7AMj9jK5O
      3EULSLOmkXQHPLQ=
      -----END PRIVATE KEY-----
    expiration: 1000000
    public-key: |
      -----BEGIN PUBLIC KEY-----
      MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDQJ+YIlU+6Mv3a3KNHrzhSVGEp
      xy22LVxuDFLhFDNkHRl/Xdat8uZPaK8F98K7eFj+ICJEHQdBM0AKaVmTFG21bIm1
      VpFUk0OWiJz4Iy432g5XD+VOGdYYd0Ij2dNYtwFmGPB0vtkgSJUSx0uV9DI2ZHWz
      lRDzg1O9yTUoxSs+FwIDAQAB
      -----END PUBLIC KEY-----

gateway:
  whitelists:
      - /doc.html
      - /register/**
      - /**/*.html"
      - /*.html"
      - /favicon.ico
      - /**/*.html
      - /**/*.css
      - /**/*.js
      - /swagger-resources/**
      - /v2/api-docs/**
      - /sso/valid/code
      - /*.js
      - /**.html
      - /user/login
      - /menu/**/**
      - /content/**/**
      - /images/**
      
#打包测试;-D'maven.test.skip'=true:构建项目时跳过运行测试。通过设置为true,可以忽略测试环节,直接进行打包
[root@tea tarena-tp-tea]# mvn clean package -Dmaven.test.skip=true
...
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary for tp-tea 1.0.0-SNAPSHOT:
[INFO] 
[INFO] tp-tea ............................................. SUCCESS [ 27.827 s]
[INFO] tea-common ......................................... SUCCESS [ 13.587 s]
[INFO] tea-po ............................................. SUCCESS [  0.943 s]
[INFO] tea-server ......................................... SUCCESS [  0.045 s]
[INFO] tea-server-protocol ................................ SUCCESS [ 23.567 s]
[INFO] tea-server-dao-api ................................. SUCCESS [ 24.172 s]
[INFO] tea-server-domain .................................. SUCCESS [ 17.005 s]
[INFO] tea-server-dao-impl ................................ SUCCESS [  0.038 s]
[INFO] tea-server-infrastructure .......................... SUCCESS [  0.448 s]
[INFO] tea-web-adapter .................................... SUCCESS [  5.663 s]
[INFO] tea-server-admin ................................... SUCCESS [ 43.449 s]
[INFO] tea-admin .......................................... SUCCESS [  0.015 s]
[INFO] tea-admin-protocol ................................. SUCCESS [  0.565 s]
[INFO] tea-admin-dao-api .................................. SUCCESS [  0.236 s]
[INFO] tea-admin-domain ................................... SUCCESS [  0.944 s]
[INFO] tea-admin-dao-impl ................................. SUCCESS [  0.042 s]
[INFO] tea-admin-infrastructure ........................... SUCCESS [  0.513 s]
[INFO] tea-admin-adapter .................................. SUCCESS [  0.626 s]
[INFO] tea-admin-main ..................................... SUCCESS [  3.421 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  02:44 min
[INFO] Finished at: 2023-04-16T02:04:22+08:00
[INFO] ------------------------------------------------------------------------

#查看结果并启动jar测试
#-Dfile.encoding=utf-8 是设置Java虚拟机的文件编码为UTF-8,
#-Xmx128M -Xms128M -Xmn64m -XX:MaxMetaspaceSize=128M -XX:MetaspaceSize=128M:配置Java虚拟机的内存分配和垃圾回收相关设置的
[root@test tarena-tp-tea]# ls tea-server/tea-server-main/target/tea-server-admin-1.0.0-SNAPSHOT.jar
[root@test tarena-tp-tea]# java -Dfile.encoding=utf-8 -jar tea-server/tea-server-main/target/tea-server-admin-1.0.0-SNAPSHOT.jar -Xmx128M -Xms128M -Xmn64m -XX:MaxMetaspaceSize=128M -XX:MetaspaceSize=128M --server.port=30091 --spring.profiles.active=vm         

另外开一个端口查看结果
[root@test ~]# ss -antlp
State         Recv-Q        Send-Q               Local Address:Port                 Peer Address:Port        Process                                
LISTEN        0             128                        0.0.0.0:22                        0.0.0.0:*            users:(("sshd",pid=1204,fd=5))        
LISTEN        0             100                              *:30091                           *:*            users:(("java",pid=2351,fd=215))      
[root@test ~]# jps
2512 Jps
1138 WrapperSimpleApp
2351 tea-server-admin-1.0.0-SNAPSHOT.jar


2、商品管理组件

#编写配置文件
[root@test tarena-tp-tea]# vim tea-admin/tea-admin-main/src/main/resources/application-vm.yaml 
spring:
  # 数据源配置
  datasource:
    url: jdbc:mysql://192.168.1.12:3306/tarena_tp_tea?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&allowMultiQueries=true&allowPublicKeyRetrieval=true
    username: teauser
    password: Taren123
    driver-class-name: com.mysql.cj.jdbc.Driver
    hikari:
      minimum-idle: 1
      auto-commit: true
      idle-timeout: 600000
      minimum: 5
      max-lifetime: 1800000
      #数据库连接超时时间,默认30秒,即30000
      connection-timeout: 120000
      connection-test-query: SELECT 1 FROM DUAL

  redis:
    host: 192.168.1.147    #写自已redis负载均衡的地址
    port: 6379
    password: "Taren123"
    database: 8
    jedis:
      pool:
        max-active: 8
        min-idle: 5
        max-idle: 8
        max-wait: PT15M
        time-between-eviction-runs: PT15M

#图片路径配置
image_path: /home/images/vm/tea_attach/
url: http://122.9.48.80:30080/tea_attach/


rocketmq:
  name-server: 192.168.1.14:9876
  producer:
    group: ${spring.application.name}

mq:
  topic:
    order-cancel-topic: order-cancel-topic

business-mq:
  topic:
    stock-rollback: 'order-cancel-topic'
  group:
    rollback-listener-group: 'stock-rollback-listener-group'


jwt:
  rsa:
    enabled: true
    private-key: |
      -----BEGIN PRIVATE KEY-----
      MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBANAn5giVT7oy/drc
      o0evOFJUYSnHLbYtXG4MUuEUM2QdGX9d1q3y5k9orwX3wrt4WP4gIkQdB0EzQApp
      WZMUbbVsibVWkVSTQ5aInPgjLjfaDlcP5U4Z1hh3QiPZ01i3AWYY8HS+2SBIlRLH
      S5X0MjZkdbOVEPODU73JNSjFKz4XAgMBAAECgYBwXblt1LxPNYuYBBcYcVwkBWzW
      ErF4cJA+z+RFoJQFbTgAa3WiPUdagpZI0HCMpvDTbiFRR6JM7g+aDzjNju+RUCW9
      0iaDrB5vKyh3INMzcdCfm4btGectxb/ZCYFkXPBvqtqzK/H9ANk/Xlq1KFw0O2x2
      fgV7swYuiZ3kSYLbEQJBAPx2gXPkpraqEPmt//ce7AP5fHxC8Td2JFROsRfyweJP
      0dUdiLDgMxwpFZIhidU1sJBWX62Vqv6Jh/MvoMBhttsCQQDTEnqy9P+VAS1huYkl
      XwWjbZKxHEIaxW+Bg/ombXLhGudpy+chHFy4QEgA1Puda7kxgcTMhRj1i1EliytB
      ecR1AkEA9STJPNS4wURQKXG4y6f9+zoFk8+Y1IbmberfcWaqt2tUUEFWWpHJbz3B
      kVz5rstsgCsuyqo7GOBI323PBR+c4wJBAJxA3dyFSn+AM5xYwZKM2Zu2jhXXGYjA
      CGAU16aC97x1MkM704rLeEheLe+PvAU5rgtcSdgt3+BGlnf4orkB79ECQE2uNOTP
      enyfRVLgN0j3ZLSyOSqw+kqGsoU2jpcxFCGy0RGk3z1fHVccHfspqCA7AMj9jK5O
      3EULSLOmkXQHPLQ=
      -----END PRIVATE KEY-----
    expiration: 1000000
    public-key: |
      -----BEGIN PUBLIC KEY-----
      MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDQJ+YIlU+6Mv3a3KNHrzhSVGEp
      xy22LVxuDFLhFDNkHRl/Xdat8uZPaK8F98K7eFj+ICJEHQdBM0AKaVmTFG21bIm1
      VpFUk0OWiJz4Iy432g5XD+VOGdYYd0Ij2dNYtwFmGPB0vtkgSJUSx0uV9DI2ZHWz
      lRDzg1O9yTUoxSs+FwIDAQAB
      -----END PUBLIC KEY-----

gateway:
  whitelists:
    - /doc.html
    - /register/**
    - /**/*.html"
    - /*.html"
    - /favicon.ico
    - /**/*.html
    - /**/*.css
    - /**/*.js
    - /swagger-resources/**
    - /v2/api-docs/**
    - /sso/valid/code
    - /*.js
    - /**.html
    - /user/login
    - /menu/**/**
    - /content/**/**
    - /*.jpg
    - /*.jpeg
    - /*.png
    - /images/**
    
#打包测试
[root@test tarena-tp-tea]# mvn clean        #清理测试文件
[root@test tarena-tp-tea]# mvn clean package -D'maven.test.skip'=true
...
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary for tp-tea 1.0.0-SNAPSHOT:
[INFO] 
[INFO] tp-tea ............................................. SUCCESS [  0.081 s]
[INFO] tea-common ......................................... SUCCESS [  0.004 s]
[INFO] tea-po ............................................. SUCCESS [  0.003 s]
[INFO] tea-server ......................................... SUCCESS [  0.003 s]
[INFO] tea-server-protocol ................................ SUCCESS [  0.003 s]
[INFO] tea-server-dao-api ................................. SUCCESS [  0.004 s]
[INFO] tea-server-domain .................................. SUCCESS [  0.005 s]
[INFO] tea-server-dao-impl ................................ SUCCESS [  0.004 s]
[INFO] tea-server-infrastructure .......................... SUCCESS [  0.003 s]
[INFO] tea-web-adapter .................................... SUCCESS [  0.007 s]
[INFO] tea-server-admin ................................... SUCCESS [  0.015 s]
[INFO] tea-admin .......................................... SUCCESS [  0.004 s]
[INFO] tea-admin-protocol ................................. SUCCESS [  0.002 s]
[INFO] tea-admin-dao-api .................................. SUCCESS [  0.006 s]
[INFO] tea-admin-domain ................................... SUCCESS [  0.006 s]
[INFO] tea-admin-dao-impl ................................. SUCCESS [  0.004 s]
[INFO] tea-admin-infrastructure ........................... SUCCESS [  0.003 s]
[INFO] tea-admin-adapter .................................. SUCCESS [  0.009 s]
[INFO] tea-admin-main ..................................... SUCCESS [  0.007 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  1.065 s
[INFO] Finished at: 2023-04-16T02:11:35+08:00
[INFO] ------------------------------------------------------------------------

查看结果并启动jar测试
[root@test tarena-tp-tea]# ls tea-admin/tea-admin-main/target/tea-admin-main-1.0.0-SNAPSHOT.jar
[root@test tarena-tp-tea]# java -Dfile.encoding=utf-8 -jar tea-admin/tea-admin-main/target/tea-admin-main-1.0.0-SNAPSHOT.jar -Xmx128M -Xms128M -Xmn64m -XX:MaxMetaspaceSize=128M -XX:MetaspaceSize=128M --server.port=30092 --spring.profiles.active=vm

另外开一个终端查看结果
[root@test ~]# jps
2961 tea-admin-main-1.0.0-SNAPSHOT.jar
1138 WrapperSimpleApp
3012 Jps
[root@test ~]# ss -antlp
State    Recv-Q    Send-Q       Local Address:Port        Peer Address:Port   Process                                                                       
LISTEN   0         128                0.0.0.0:22               0.0.0.0:*       users:(("sshd",pid=1204,fd=5))                                               
LISTEN   0         100                      *:30092                  *:*       users:(("java",pid=2961,fd=43)) 

#清理测试文件
[root@test tarena-tp-attach]# mvn clean


3、附件中心服务组件

#编写配置文件
[root@test tarena-tp-tea]# cd /root/tea/code/backend/tarena-tp-attach/
[root@test tarena-tp-attach]# vim attach-server/attach-server-main/src/main/resources/bootstrap.yaml 
...
---
spring:
  profiles: vm
  cloud:
    nacos:
      server-addr: 192.168.1.13:8848
      discovery:
        enabled: true
        register-enabled: true
        server-addr: 127.0.0.1:8848
        namespace: 5a34018d-0a70-42f5-b1b9-ebbf9565db54 #nacos的命名空间(project)uuid
        
[root@test tarena-tp-attach]# vim attach-server/attach-server-main/src/main/resources/application-vm.yaml 
spring:
  #文件大小配置
  http:
    multipart:
      enabled: true
      max-file-size: 30MB
      max-request-size: 300MB
  # 数据源配置
  datasource:
    url: jdbc:mysql://192.168.1.12:3306/tarena_tp_tea?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&allowMultiQueries=true&allowPublicKeyRetrieval=true
    username: teauser
    password: Taren123
    driver-class-name: com.mysql.cj.jdbc.Driver
    hikari:
      minimum-idle: 1
      auto-commit: true
      idle-timeout: 600000
      minimum: 5
      max-lifetime: 1800000
      #数据库连接超时时间,默认30秒,即30000
      connection-timeout: 120000
      connection-test-query: SELECT 1 FROM DUAL

#url相关
image_path: /home/images/vm/tea_attach/
url: http://122.9.48.80:30080/tea_attach/

dubbo:
  address: nacos://192.168.1.13:8848
  namespace: 5a34018d-0a70-42f5-b1b9-ebbf9565db54 #nacos的命名空间(project)uuid

#打包测试
[root@test tarena-tp-attach]# mvn clean package -D'maven.test.skip'=true
...
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary for tp-attach 1.0.0-SNAPSHOT:
[INFO] 
[INFO] tp-attach .......................................... SUCCESS [  0.179 s]
[INFO] attach-common ...................................... SUCCESS [  2.156 s]
[INFO] attach-po .......................................... SUCCESS [  0.437 s]
[INFO] attach-server ...................................... SUCCESS [  0.006 s]
[INFO] attach-server-protocol ............................. SUCCESS [  0.712 s]
[INFO] attach-server-dao-api .............................. SUCCESS [  0.763 s]
[INFO] attach-server-dao-impl ............................. SUCCESS [  0.058 s]
[INFO] attach-server-domain ............................... SUCCESS [  0.865 s]
[INFO] attach-server-infrastructure ....................... SUCCESS [  0.402 s]
[INFO] server-client-api .................................. SUCCESS [  0.295 s]
[INFO] server-web-adapter ................................. SUCCESS [  0.420 s]
[INFO] attach-server-main ................................. SUCCESS [ 21.315 s]
[INFO] attach-admin ....................................... SUCCESS [  0.005 s]
[INFO] attach-admin-protocol .............................. SUCCESS [  0.378 s]
[INFO] attach-admin-dao-api ............................... SUCCESS [  0.245 s]
[INFO] attach-admin-dao-impl .............................. SUCCESS [  0.029 s]
[INFO] attach-admin-domain ................................ SUCCESS [  0.605 s]
[INFO] attach-admin-infrastructure ........................ SUCCESS [  0.250 s]
[INFO] admin-web-adapter .................................. SUCCESS [  0.647 s]
[INFO] attach-admin-main .................................. SUCCESS [  0.526 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  31.074 s
[INFO] Finished at: 2023-04-16T02:27:41+08:00
[INFO] ------------------------------------------------------------------------

查看结果并启动jar测试
[root@test tarena-tp-attach]# ls attach-server/attach-server-main/target/attach-server-main-1.0.0-SNAPSHOT.jar
[root@test tarena-tp-attach]# java -Dfile.encoding=utf-8 -jar attach-server/attach-server-main/target/attach-server-main-1.0.0-SNAPSHOT.jar -Xmx128M -Xms128M -Xmn64m -XX:MaxMetaspaceSize=128M -XX:MetaspaceSize=128M --server.port=30093 --spring.profiles.active=vm

另外开一个终端查看启动结果
[root@test ~]# ss -antlp
State     Recv-Q    Send-Q        Local Address:Port          Peer Address:Port    Process                                                                            
LISTEN    0         128                 0.0.0.0:22                 0.0.0.0:*        users:(("sshd",pid=1204,fd=5))                                                    
LISTEN    0         100                       *:30093                    *:*        users:(("java",pid=3547,fd=39))                                                   
LISTEN    0         1024                      *:20889                    *:*        users:(("java",pid=3547,fd=75))                                                   
LISTEN    0         1024                      *:44444                    *:*        users:(("java",pid=3547,fd=62))                                                   
[root@test ~]# jps
1138 WrapperSimpleApp
3622 Jps
3547 attach-server-main-1.0.0-SNAPSHOT.jar
#清理测试文件
[root@test tarena-tp-attach]# mvn clean


4、验证中心组件

#编写配置文件
[root@test tarena-tp-attach]# cd /root/tea/code/backend/tarena-passport/
[root@test tarena-passport]# vim passport-provider/src/main/resources/application-vm.yml
jwt:
  rsa:
    enabled: true
    private-key: |
      -----BEGIN PRIVATE KEY-----
      MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBANAn5giVT7oy/drc
      o0evOFJUYSnHLbYtXG4MUuEUM2QdGX9d1q3y5k9orwX3wrt4WP4gIkQdB0EzQApp
      WZMUbbVsibVWkVSTQ5aInPgjLjfaDlcP5U4Z1hh3QiPZ01i3AWYY8HS+2SBIlRLH
      S5X0MjZkdbOVEPODU73JNSjFKz4XAgMBAAECgYBwXblt1LxPNYuYBBcYcVwkBWzW
      ErF4cJA+z+RFoJQFbTgAa3WiPUdagpZI0HCMpvDTbiFRR6JM7g+aDzjNju+RUCW9
      0iaDrB5vKyh3INMzcdCfm4btGectxb/ZCYFkXPBvqtqzK/H9ANk/Xlq1KFw0O2x2
      fgV7swYuiZ3kSYLbEQJBAPx2gXPkpraqEPmt//ce7AP5fHxC8Td2JFROsRfyweJP
      0dUdiLDgMxwpFZIhidU1sJBWX62Vqv6Jh/MvoMBhttsCQQDTEnqy9P+VAS1huYkl
      XwWjbZKxHEIaxW+Bg/ombXLhGudpy+chHFy4QEgA1Puda7kxgcTMhRj1i1EliytB
      ecR1AkEA9STJPNS4wURQKXG4y6f9+zoFk8+Y1IbmberfcWaqt2tUUEFWWpHJbz3B
      kVz5rstsgCsuyqo7GOBI323PBR+c4wJBAJxA3dyFSn+AM5xYwZKM2Zu2jhXXGYjA
      CGAU16aC97x1MkM704rLeEheLe+PvAU5rgtcSdgt3+BGlnf4orkB79ECQE2uNOTP
      enyfRVLgN0j3ZLSyOSqw+kqGsoU2jpcxFCGy0RGk3z1fHVccHfspqCA7AMj9jK5O
      3EULSLOmkXQHPLQ=
      -----END PRIVATE KEY-----
    expiration: 31536000
    public-key: |
      -----BEGIN PUBLIC KEY-----
      MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDQJ+YIlU+6Mv3a3KNHrzhSVGEp
      xy22LVxuDFLhFDNkHRl/Xdat8uZPaK8F98K7eFj+ICJEHQdBM0AKaVmTFG21bIm1
      VpFUk0OWiJz4Iy432g5XD+VOGdYYd0Ij2dNYtwFmGPB0vtkgSJUSx0uV9DI2ZHWz
      lRDzg1O9yTUoxSs+FwIDAQAB
      -----END PUBLIC KEY-----

spring:
  datasource:
    url: jdbc:mysql://192.168.1.12:3306/cs_mall_passport?useSSL=false&useUnicode=true&allowPublicKeyRetrieval=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&allowMultiQueries=true
    username: cs_mall_user
    password: Taren123
  redis:
    host: 192.168.1.147
    port: 6379
    password: "Taren123"
    database: 9
    jedis:
      pool:
        max-active: 8
        min-idle: 5
        max-idle: 8
        max-wait: PT15M
        time-between-eviction-runs: PT15M

  cloud:
    nacos:
      discovery:
        server-addr: 192.168.1.13:8848
        namespace: 5a34018d-0a70-42f5-b1b9-ebbf9565db54
        enabled: true
        register-enabled: true
  application:
    name: passport-server
mybatis:
  mapper-locations: classpath:mapper/*.xml
logging:
  level:
    com.tarena.passport: trace
  file:
    name: logs/passport.log

#打包测试
[root@test tarena-passport]# mvn clean package -D'maven.test.skip'=true
...
[INFO] passport-bom ....................................... SUCCESS [  0.228 s]
[INFO] passport-protocol .................................. SUCCESS [  2.154 s]
[INFO] passport-autoconfigure ............................. SUCCESS [03:57 min]
[INFO] passport-common .................................... SUCCESS [  0.766 s]
[INFO] passport-domain .................................... SUCCESS [  0.456 s]
[INFO] passport-adaptor ................................... SUCCESS [  0.520 s]
[INFO] passport-instruction ............................... SUCCESS [  0.320 s]
[INFO] passport-sdk ....................................... SUCCESS [  0.372 s]
[INFO] passport-main ...................................... SUCCESS [  0.262 s]
[INFO] passport-provider .................................. SUCCESS [  7.911 s]
[INFO] tarena-passport .................................... SUCCESS [  0.001 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  04:11 min
[INFO] Finished at: 2023-07-10T01:39:06+08:00
[INFO] ------------------------------------------------------------------------

查看结果并启动jar测试
[root@test tarena-passport]# ls passport-provider/target/passport-provider-1.0-SNAPSHOT.jar
[root@test tarena-passport]# java -Dfile.encoding=utf-8 -jar passport-provider/target/passport-provider-1.0-SNAPSHOT.jar -Xmx128M -Xms128M -Xmn64m -XX:MaxMetaspaceSize=128M -XX:MetaspaceSize=128M --server.port=30094 --spring.profiles.active=vm

另外开一个终端查看启动结果
[root@test ~]# ss -antlp
State     Recv-Q    Send-Q        Local Address:Port          Peer Address:Port    Process                                                                            
LISTEN    0         128                 0.0.0.0:22                 0.0.0.0:*        users:(("sshd",pid=1204,fd=5))                                                    
LISTEN    0         100                       *:30094                    *:*        users:(("java",pid=4107,fd=28))                                                   
[root@test ~]# jps
1138 WrapperSimpleApp
4107 passport-provider-1.0-SNAPSHOT.jar
4157 Jps


#清理测试文件
[root@test tarena-passport]# mvn clean


二、安装jenkins
二、安装jenkins


1、实现自动化部署

[root@test tarena-passport]# cd /root/
[root@test ~]# yum -y install jenkins-2.361.4-1.1.noarch.rpm
[root@test ~]# systemctl enable --now jenkins
[root@test ~]# ss -antlp | grep 8080
LISTEN 0      50                 *:8080            *:*    users:(("java",pid=48056,fd=9))


2、jenkins初始化

给jenkins直接绑定一个公网IP,浏览器访问test主机的公网ip:公网ip:8080

#获取Jenkins初始密码
[root@jenkins ~]# cat /var/lib/jenkins/secrets/initialAdminPassword 
197027e9419f4943aae3add096deb4b0

 

 

 

 

 


3、登录测试

重新使用用户admin,密码123456登录jenkins

#离线部署Jenkins插件
[root@test ~]# ls /var/lib/jenkins/plugins/     #空目录,没有任何插件
[root@test ~]# tar -xPpf jenkins_plugins.tar.gz -C /        #解压jenkins插件,保留文件归属
[root@test ~]# ls -l /var/lib/jenkins/plugins/          #确认该目录下文件归属
[root@test ~]# systemctl restart jenkins.service        #重启Jenkins加载插件
[root@test ~]# ss -antpul | grep java
tcp   LISTEN 0      50                 *:8080            *:*    users:(("java",pid=5628,fd=9))  
浏览器刷新jenkins页面,可以看到中文,因为离线部署的插件中有中文支持插件


4、对接gitee

需要安装gitee的插件才能去gitee拉取代码 

 

 

链接名:tea: 学茶网项目部署 ,gitee拉取的项目

域名:https://gitee.com,gitee的地址,获取证书令牌:https://gitee.com/profile/personal_access_tokens,浏览器输入以上地址

 

 

 

1、构建项目
构建一个自由风格的项目,拉取代码 

 

设置参数和源码管理

选择【参数化构建过程】或英文【This project is parameterized】,点击【添加参数】的下拉列表,选择【Git 参数】

定义变量【名称】可以任意,编写变量信息【描述】,根据提示填写【默认值】,选择【Git】,填写git仓库的url路径【Repository URL】 

git获取项目地址:https://gitee.com/cc-0001/tea;分支为$webver

 

 


1、构建项目
2、测试结果

[root@test ~]# ls /var/lib/jenkins/workspace/tea/       #可以看到结果
code  README.md  sql  teaimg.tar.gz

 


5、部署测试


1、后端JAR包部署

#使用jenkins对接maven打包项目使用jar包
#创建存放jar包的工作目录
[root@test ~]# mkdir -p /project/jar

#创建存放网站的存储目录
[root@test ~]# mkdir -p /project/page
[root@test ~]# chmod -R 777 /project/

#创建存放图片的存储目录
[root@test ~]# mkdir -p /home/images/vm/tea_attach/
[root@test ~]# chmod -R 777 /home/images/

继续点击增加构建步骤,使用maven打包,并把jar包拷贝到/project/jar目录

maven环境配置

使用maven的配置文件,定义maven私有仓库/usr/local/maven/conf/settings.xml

 

设置名字:mvn,取消自动安装

 

替换更改好的code目录到/var/lib/jenkins/workspace/tea/,使用jenkins打包jar包 

rm -rf /var/lib/jenkins/workspace/tea/code/
cp -r /root/tea/code/ /var/lib/jenkins/workspace/tea/ 

 


6、配置mvn打包jar包

目标:clean package

POM:code/backend/tarena-passport/pom.xml

继续增加2个构建步骤,按照以上步骤继续使用maven打包把除了passport之外的jar也要打包;步骤和打包passport一样,只是pom的路径换成以下:

code/backend/tarena-tp-attach/pom.xml

code/backend/tarena-tp-tea/pom.xml

 

最后增加构建shell的步骤,拷贝jar到test主机的/project/jar

 

执行的shell如下所示
cp /var/lib/jenkins/workspace/tea/code/backend/tarena-passport/passport-provider/target/passport-provider-1.0-SNAPSHOT.jar /project/jar/

cp /var/lib/jenkins/workspace/tea/code/backend/tarena-tp-attach/attach-server/attach-server-main/target/attach-server-main-1.0.0-SNAPSHOT.jar /project/jar/

cp /var/lib/jenkins/workspace/tea/code/backend/tarena-tp-tea/tea-admin/tea-admin-main/target/tea-admin-main-1.0.0-SNAPSHOT.jar  /project/jar/

cp /var/lib/jenkins/workspace/tea/code/backend/tarena-tp-tea/tea-server/tea-server-main/target/tea-server-admin-1.0.0-SNAPSHOT.jar /project/jar/


指定maven的本地仓库,需要额外定义更改配置文件
[root@test ~]# vim /usr/local/maven/conf/settings.xml
 55   <localRepository>/var/lib/jenkins/workspace/tea/.repository/</localRepository>
 
拷贝仓库文件
[root@test ~]# cp -r /usr/local/maven/repository /var/lib/jenkins/workspace/tea/
[root@test ~]# cd /var/lib/jenkins/workspace/tea/
[root@test tea]# mv repository/ .repository/

更改启动jenkins服务的用户,否则执行拷贝和更改归属关系时没有权限
[root@test ~]# vim /etc/sysconfig/jenkins  #更改jenkins的配置文件
 31 JENKINS_USER="root"              #更改为root,运行jenkins的用户

[root@test ~]# vim /lib/systemd/system/jenkins.service
 34 User=root
 35 Group=root
[root@test ~]# chown -R root.root /var/lib/jenkins/
[root@test ~]# systemctl daemon-reload 
[root@test ~]# systemctl restart jenkins

test主机查看结果,已经有jar包

[root@test tea]# ls /project/jar/
attach-server-main-1.0.0-SNAPSHOT.jar  tea-admin-main-1.0.0-SNAPSHOT.jar
passport-provider-1.0-SNAPSHOT.jar     tea-server-admin-1.0.0-SNAPSHOT.jar


三、Node部署

 

一、前后端页面编译打包


1、node安装


1、node初始化

#Node安装
[root@test tea]# cd /root/
[root@test ~]# tar -xf node-v16.13.0-linux-x64.tar.gz 
[root@test ~]# mv node-v16.13.0-linux-x64 /usr/local/node
[root@test ~]# ls /usr/local/node
bin  CHANGELOG.md  include  lib  LICENSE  README.md  share

#配置环境变量
[root@test ~]# vim /etc/bashrc 
...
 99 export JDK8_HOME="/usr/lib/jvm/jdk8"
100 export MAVEN_HOME="/usr/local/maven"
101 export NODE_HOME="/usr/local/node"      #新添加
102 export PATH=${JDK8_HOME}/bin/:${MAVEN_HOME}/bin/:${NODE_HOME}/bin/:$PATH    #更改
[root@test ~]# source /etc/bashrc

#测试node命令
[root@test ~]# node -v
v16.13.0
[root@test ~]# npm -v
8.1.0

#node初始化配置
[root@test ~]# mkdir /usr/local/node/{node_global,node_cache}
[root@test ~]# npm config set prefix "/usr/local/node/node_global/"
[root@test ~]# npm config set cache "/usr/local/node/node_cache/"
[root@test ~]# npm config set registry https://registry.npm.taobao.org
[root@test ~]# npm config list
; "user" config from /root/.npmrc

cache = "/usr/local/node/node_cache" 
prefix = "/usr/local/node/node_global" 
registry = "https://registry.npm.taobao.org/" 

; node bin location = /usr/local/node/bin/node
; cwd = /root
; HOME = /root
; Run `npm config ls -l` to show all defaults.

[root@test ~]# cat /root/.npmrc 
prefix=/usr/local/node/node_global
cache=/usr/local/node/node_cache
registry=https://registry.npm.taobao.org/ 


2、部署网站页面


1、商品后台管理页面

#测试编译
[root@test ~]# cd /root/tea/code/page/backend-page/
[root@test backend-page]# npm install
[root@test backend-page]# npm run build:test
...
  Images and other types of assets omitted.

 DONE  Build complete. The dist directory is ready to be deployed.
 INFO  Check out deployment instructions at https://cli.vuejs.org/guide/deployment.html

#拷贝商品的后台管理页面到/project/page/backend-page/
[root@test backend-page]# mkdir /project/page/backend-page
[root@test backend-page]# cp -r dist/ /project/page/backend-page

#清理测试文件
[root@test backend-page]# rm -rf node_modules/ dist/ package-lock.json
[root@test backend-page]# npm cache clean --force
[root@test backend-page]# npm cache verify
Cache verified and compressed (/usr/local/node/node_cache/_cacache)
Content verified: 0 (0 bytes)
Index entries: 0
Finished in 0.005s


2、商品前台页面

#测试编译
[root@test backend-page]# cd /root/tea/code/page/front-page/
[root@test front-page]# npm install
...
added 1902 packages in 1m
[root@test front-page]# npm run build:linuxTech
...
  Images and other types of assets omitted.

 DONE  Build complete. The dist directory is ready to be deployed.
 INFO  Check out deployment instructions at https://cli.vuejs.org/guide/deployment.html

#拷贝商品的前台管理页面到/project/page/front-page/
[root@test front-page]# mkdir /project/page/front-page
[root@test front-page]# cp -r dist/ /project/page/front-page

#清理测试文件
[root@test front-page]# rm -rf dist/ node_modules/ package-lock.json 
[root@test front-page]# npm cache clean --force
npm WARN using --force Recommended protections disabled.
[root@test front-page]# npm cache verify
Cache verified and compressed (/usr/local/node/node_cache/_cacache)
Content verified: 0 (0 bytes)
Index entries: 0
Finished in 0.004s


3、图片站点部署,存放网站图片 

#测试编译
[root@test backend-page]# cd /root/tea/code/page/front-page/
[root@test front-page]# npm install
...
added 1902 packages in 1m
[root@test front-page]# npm run build:linuxTech
...
  Images and other types of assets omitted.

 DONE  Build complete. The dist directory is ready to be deployed.
 INFO  Check out deployment instructions at https://cli.vuejs.org/guide/deployment.html

#拷贝商品的前台管理页面到/project/page/front-page/
[root@test front-page]# mkdir /project/page/front-page
[root@test front-page]# cp -r dist/ /project/page/front-page

#清理测试文件
[root@test front-page]# rm -rf dist/ node_modules/ package-lock.json 
[root@test front-page]# npm cache clean --force
npm WARN using --force Recommended protections disabled.
[root@test front-page]# npm cache verify
Cache verified and compressed (/usr/local/node/node_cache/_cacache)
Content verified: 0 (0 bytes)
Index entries: 0
Finished in 0.004s

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值