1. 自行安装docker-compose

2. 配置jpom的docker-compose.yml文件

version: '3'
services:
  portainer:
    image: jpomdocker/jpom
    container_name: jpom-server                                          # 容器名为'jpom-server'
    restart: always                                              # 指定容器退出后的重启策略为始终重启,但是不考虑在Docker守护进程启动时就已经停止了的容器
    volumes:                                                             # 数据卷挂载路径设置,将本机目录映射到容器目录
      - "./jpom/logs:/usr/local/jpom-server/logs"
      - "./jpom/data:/usr/local/jpom-server/data"
      - "./jpom/conf:/usr/local/jpom-server/conf"
    environment:                        # 设置环境变量,相当于docker run命令中的-e
      TZ: Asia/Shanghai
      LANG: en_US.UTF-8
    ports:                              # 映射端口
      - "2122:2122"

3.启动jpom

cd /home/toc/docker-compose/jpom

docker-compose up -d

docker ps 查看服务是否启动

安装jpom的agent插件

# 提前创建好文件夹 并且切换到对应到文件夹执行命令
 

mkdir -p /home/toc/docker-compose/jpom/agent/
cd /home/toc/docker-compose/jpom/agent/
apt-get install -y wget && wget -O install.sh https://jpom.top/docs/install.sh && bash install.sh Agent jdk

如果提示:运行报错apt-get :command not found

安装wget:

再去执行命令:

wget -O install.sh https://jpom.top/docs/install.sh

bash install.sh Agent jdk

4.登录jpom:你的ip:端口,如果是云服务器,记得添加端口安全组,如果是本地服务器,记得开放一下本地防火墙端口

5.配置构建项目设置

5.1配置ssh服务器信息

5.2 点击分配空间

5.3 关联工作空间

5.4 点击配置 。这里配置的是构建后jar和vue前端的dist的存放路径,多个路径换行就可以,我这里前端和后端的存放路径是在不同的服务器上面

5.5 配置docker管理

容器名称是刚刚安装的jpom在容器的名称

host是jpom的服务器的ip地址,端口2375需要配置一下,并开放端口

docker打开2375监听端口 

1、编辑dock er.service ,在[service]的ExecStart ,添加 -H tcp://0.0.0.0:2375

# vi /usr/lib/systemd/system/docker.service

2、在ExecStart ,添加 -H tcp://0.0.0.0:2375

ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H fd:// --containerd=/run/containerd/containerd.sock

3、刷新配置文件

systemctl daemon-reload

4、重启docker

sudo systemctl restart docker
或者
sudo systemctl start docker

5、开放端口

添加防火墙2375/tcp ,并重载防火墙

实在对命令不敏感,直接找到/usr/lib/systemd/system/docker.service文件,把步骤2直接替换复制进去就行

如果在找不到/usr/lib/systemd/system/docker.service文件,去/etc/docker/daemon.json找daemon.json文件,没有新增这个文件加入:

{
  "hosts": ["unix:///var/run/docker.sock",  "tcp://0.0.0.0:2375"]
}
重启dockewr
sudo systemctl restart docker 

查看端口是否开放
# 检查是否监听 2375 端口(无输出则未监听)
sudo netstat -tulnp | grep 2375 

如果启动重启docker失败报错:Docker容器异常:See “systemctl status docker.service“ and “journalctl -xe“ for details.

参考:https://blog.csdn.net/Abraxs/article/details/130549026

daemon.json文件在/etc/docker目录下

解决完重启docker就行

分配docker

5.6 配置拉取git镜像地址

5.7 构建前端项目

选择容器构建,点击查看当前可用容器

DSL内容:fromTag: tag改成你自己的

 # 基础镜像 目前仅支持 ubuntu-latest
  runsOn: ubuntu-latest
  # 使用哪个 docker 构建,填写 docker 标签 默认查询可用的第一个,如果 tag 查询出多个也选择第一个结果
  fromTag: tag
  steps:
    - uses: node
      version: 22.14.0
      # 将容器中的 node_modules 文件缓存到 docker 卷中
    - uses: cache
      path: ${JPOM_WORKING_DIR}/node_modules
# 使用 copy 文件的方式缓存,反之使用软链的形式。copy 文件方式缓存 node_modules 可以避免 npm WARN reify Removing non-directory
      mode: copy
    - run: npm config set registry https://registry.npmmirror.com
  # 内置变量 ${JPOM_WORKING_DIR} ${JPOM_BUILD_ID}
    - run: cd  ${JPOM_WORKING_DIR}/ && npm install --registry=https://registry.npmmirror.com && npm run build:prod

选择构建前端的存放地址

直接下一步啥都不用填写,直接保存构建就可以了,构建成功之后在对应目录下面能找到构建你的产物

5.8 构建后端项目,步骤都一样,一下是不同区别的地方

产物目录:对应的你项目本地打成jar后的目录,也是对应你git上面的目录

DSL内容:

runsOn: ubuntu-latest
# 使用哪个 docker 构建,填写 docker 标签 默认查询可用的第一个,如果 tag 查询出多个也选择第一个结果
fromTag: tag
# version 需要在对应镜像源中存在
# java 镜像源 https://mirrors.tuna.tsinghua.edu.cn/Adoptium/
# maven 镜像源 https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/
# node 镜像源 https://registry.npmmirror.com/-/binary/node/
# 目前支持的 uses 插件端 java、maven、node、go、python3、gradle 。如果不满足需求,可自行配置插件
steps:
  - uses: java
    version: 8
  - uses: maven
    version: 3.9.9
# 将容器中的 maven 仓库文件缓存到 docker 卷中
  - uses: cache
    path: /root/.m2
# 将此目录缓存到全局(多个构建可以共享此缓存目录)
    type: global
  - run: cd ${JPOM_WORKING_DIR} && mvn clean install -am -amd -Pmaster -Dmaven.test.skip=true

run: cd ${JPOM_WORKING_DIR} && mvn clean install -am -amd -Pmaster -Dmaven.test.skip=true 这个Pmaster对应你要启动哪个yml文件,例如我

我要构建jar的时候启动的是master的配置文件,如何动态加载配置文件自行百度

这里对应的发布后执行的命令,就是你构建要存放的文件路径

cd /home/toc/docker-compose/hyjk-othmp
docker-compose down -v
docker rmi hyjkothmp
docker-compose up -d --build

直接保存构建就可以了 

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐