当前位置: 首页 > wzjs >正文

咨询行业网站制作好的营销网站设计公司

咨询行业网站制作,好的营销网站设计公司,哪个网站做logo,哪些专门做批发的网站简介 Jpom是一款现代化的开源构建管理系统,专为Java开发的项目设计,提供了在线构建、自动部署、日常运维和项目监控等全面功能。 准备工作 2.1 JPom 安装 先安装JPom,此处选择Docker或docker-compose安装。详见官网Jpom docker-compose安…

简介

Jpom是一款现代化的开源构建管理系统,专为Java开发的项目设计,提供了在线构建、自动部署、日常运维和项目监控等全面功能。

准备工作

2.1 JPom 安装

先安装JPom,此处选择Docker或docker-compose安装。详见官网Jpom docker-compose安装

2.2 仓库创建

登录JPom管理后台,在“在线构建 -- 仓库信息”中,新增一个仓库地址。

2.3 SSH 添加

登录JPom管理后台,在“资产管理 -- SSH管理”,新增一个SSH节点。

如果和JPom Server在同一台服务器上,Host需要写外网IP,不能用127.0.0.1

2.4 Docker 添加

登录JPom管理后台,在“资产管理 -- Docker管理”,新增Docker

注:在新增Docker之前,需先在Docker中进行配置,详见官网Jpom Docker资产 新增&删除。如果只是测试,只需在docker.service文件中添加修改,如下:

docker.service可以通过systemctl status docker查看

在线构建

3.1 构建方式

通过Docker或docker-compose安装的Jpom,在构建时,构建方式只能选择“容器构建”

3.2 基础信息

选择源仓库、分支。JPom Server通过对应的仓库,将仓库中的代码拉取到服务器。

代码拉取后存放在xxx/docker/volumes目录下,可以通过构建的BUILD_ID值,使用

find / -name "${BUILD_ID}" 命令查询具体的目录。其中${BUILD_ID}要使用如下截图的字符串。

构建创建成功后,会生成一个唯一的构建Id,可通过编辑构建中查看。

3.3 构建流程

构建流程的任务是通过3.1选择的构建方式(以Docker为例),结合3.2中拉取的代码,自动打包,生成可执行的 Jar 包。

3.3.1 DSL配置

1)DSL的说明

a)配置需要声明使用具体的 docker 来执行构建相关操作(建议使用服务端所在服务器中的 docker)

b)容器构建会在 docker 中生成相关挂载目录,一般情况不需要人为操作

c)执行构建时会生成一个容器来执行,构建结束后会自动删除对应的容器

简单理解:DSL配置用于配置一个Docker容器,通过该Docker容器,自动将仓库的代码打包生成可执行文件,并通过挂载卷目录方式,将执行信息及可执行文件存放在Docker的宿主机中。而后自动删除Docker容器。

2)配置说明
# 基础镜像 目前支持 ubuntu-latest、ubuntu-git
# 您还可以自定义基础镜像来实现复杂业务
# 本示例仅供参考实际需要您按照仓库情况和构建流程自行配置
runsOn: ubuntu-latest
# 使用哪个 docker 构建,填写 docker 标签 默认查询可用的第一个,如果 tag 查询出多个也选择第一个结果
fromTag: test
# 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  # 自动在xxx/docker/volumes/中创建下载对应版本的jdkversion: 8- uses: maven  # 自动在xxx/docker/volumes/中创建下载对应版本的mavenversion: 3.9.4  
#  - uses: go
#    version: 1.17.6
#  - uses: python3
#    version: 3.6.6
# 将容器中的 maven 仓库文件缓存到 docker 卷中,前提条件:需将宿主机的/root/.m2和容器的/root/.m2做映射- uses: cachepath: /root/.m2
# 将此目录缓存到全局(多个构建可以共享此缓存目录)type: global
#  - run: echo "当前目录:" && pwd && echo "进入docker容器,睡眠1000s" && sleep 1000 && "睡眠结束"- run: cd ${JPOM_WORKING_DIR} && mvn clean package -Dmaven.test.skip=true -s /root/.m2/settings.xml
#  - run: echo "当前目录:" && pwd && echo "进入docker容器,睡眠100s" && sleep 1000 && "睡眠结束"
# 宿主机目录和容器目录挂载 /host:/container:ro
binds:
# 指定 settings.xml 文件
#  - /var/lib/docker/volumes/jpom_maven_3.9.4/_data/conf/settings.xml:/root/.m2/settings.xml- /root/.m2/:/root/.m2/
#  - /var/lib/docker/volumes/jpom_maven_3.9.4/_data/config/:/home/maven_config/# 宿主机文件上传到容器 /host:/container:true
#copy:
#  - /var/lib/docker/volumes/jpom_maven_3.9.4/_data/conf/settings.xml:/home/:true
# dirChildrenOnly = true will create /var/data/titi and /var/data/tata dirChildrenOnly = false will create /var/data/root/titi and /var/data/root/tata
# copy:
#  - /Users/user/.m2/settings.xml:/root/.m2/:false
# 给容器新增环境变量
env:NODE_OPTIONS: --max-old-space-size=900
#配置说明:https://docs.docker.com/engine/api/v1.43/#tag/Container/operation/ContainerCreate
#hostConfig:
#  CpuShares: 1

以上大部分代码都是官网提供的示例代码,以下重点介绍几点:

a)uses: java

配置Java环境,默认会自动下载对应版本的JDK版本到容器,并通过卷(xxx/docker/volumes/)同步到宿主机。如果没有下载成功,也可以在宿主机中找到对应卷,手动下载。

文件格式如下:

maven等其他环境也一样的处理方式。

b)Maven仓库缓存

maven仓库缓存的目的在于无需每次构建都重新下载依赖包,提升构建的下次构建的速度。

在Docker容器构建环境中,通过Maven下载的依赖包,默认存放在/root/.m2/repository/目录中。

注:此处除了配置path为/root/.m2以外,还需要在binds中,配置宿主机和Docker容器该目录的映射

c)打包命令

cd ${JPOM_WORKING_DIR} && mvn clean package -Dmaven.test.skip=true -s /root/.m2/settings.xml

容器启动时,会自动将从仓库中拉取的源代码映射到容器的${JPOM_WORKING_DIR}目录中。

-s /root/.m2/settings.xml:用于指定maven的配置文件,此处必须指定,且该文件必须在容器中存在。 settings.xml文件可以和源码一起提交到仓库中,也可以通过卷映射,从宿主机中获取。

通过DSL配置的use: maven,自动下载maven,但该maven是从官网下载,对应的仓库都为外网,下载很慢,而且项目中可能有自动创建的仓库,所以此处需重新指定settings.xml文件。可在该settigns.xml中配置国内仓库、jdk版本等信息。

d)卷的映射

通过binds,指定宿主机/root/.m2/和容器/root/.m2/的映射。

注:如果c)中的打包命令指定的settings.xml文件为/root/.m2/settings.xml,则需要将该文件先放在宿主机的/root/.m2目录中。

3.3.2 产物目录

指定打包后的可执行文件的目录。如SpringBoot项目的target/xxx.jar

3.4 发布操作

发布操作用于接送3.3中构建后打包生成的可执行文件,执行服务的启动等操作。

1)选择发布的SSH

指定3.3中构建后打包生成的可执行文件要上传到哪一台服务器。

2)发布目录

a)home:示例中的home目录是在添加SSH管理时指定的文件目录。

b)test:示例中的test目录是3.3中构建后打包生成的可执行文件自动上传到SSH的指定目录,本例为 /home/test/ 目录

c)发布前命令

该命令在SSH对应的服务器的/root目录中开始执行

d)发布后命令

该命令同“发布前命令”的环境一样,也在SSH对应的服务器的/root目录中开始执行。

在此示例中,需要先进入/home/test目录,可执行的jar包在该目录中。然后执行 ./start.sh 脚本文件。

start.sh 脚本文件,可以根据自己项目的实际信息进行填写。

本例使用docker-compose创建docker容器,执行mytest服务。

start.sh脚本文件如下:

#!/bin/sh
echo "脚本执行"
# 使用 $() 进行命令替换,并将输出赋值给 CONTAINER_ID 变量
# 查找mytest镜像当前的容器id
containerId=$(docker ps -a | grep mytest | awk '{print $1}')
echo $containerId
if [ "$containerId" != "" ]; thenecho "容器id存在"docker stop $containerId && docker rm $containerIdecho "停止并删除容器成功"
elseecho "容器id不存在"
fi
echo "启动容器"
docker-compose up -d
echo "容器启动结束"

结尾

以上为本篇分析的全部内容。

关于本篇内容你有什么自己的想法或独到见解,欢迎在评论区一起交流探讨下吧。

http://www.dtcms.com/wzjs/279740.html

相关文章:

  • 佛山疫情最新消息通知网站seo诊断技巧
  • 网站专门做冻品的淘宝关键词工具
  • 遵义市乡村街道建设投诉网站百度站长工具网站
  • 哪个网站可以接工程做海外独立站
  • 小说网站制作开源推广员是做什么的
  • asp旅游网站模板下载宣传推广方案
  • 网站设计制作新报价图片在线看seo网站
  • 用java做网站代码建站宝盒
  • wordpress用redis江门seo网站推广
  • 秦皇岛网站建设找汉狮长尾关键词爱站
  • wordpress 头条插件seo站内优化站外优化
  • 英文版政府网站建设实施方案网站搭建谷歌seo
  • 建设银行网站怎么登陆不了了网络营销推广公司
  • 烟台市芝罘区建设局网站郑州竞价托管代运营
  • 做批发网站有哪些百度识图在线识别
  • 网站制作地点网站搜索引擎优化技术
  • 女生做网站前台24小时网站建设
  • 自己建设网站需要什么手续百度推广产品有哪些
  • 合肥高新城建设计院网站谈谈你对网络营销的看法
  • 定制直播app惠州百度seo地址
  • 自己架服务器做网站百度网盘网页版入口官网
  • 温岭营销型网站建设湖南正规关键词优化首选
  • 龙华做棋牌网站建设找哪家效益快百度账号快速注册
  • 网站建设公司株洲厦门百度关键词seo收费
  • 网站建设话术反向链接查询
  • 怎么给自己的网站设置关键词百度云搜索引擎入口官方
  • 动漫一级a做爰片免费网站培训中心
  • 魅影视频武汉seo关键词排名优化
  • wordpress 站点转移快速网站推广
  • 买网站空间深圳电子网络推广查询