-
spring boot maven多模块docker打jar包的核心配置
2019-09-30 10:37:15首先保证项目正常启动与访问 1 配置pom文件打包插件 父级pom文件增加 <build> <...org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifac...首先保证项目正常启动与访问
1 配置pom文件打包插件
父级pom文件增加
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.1</version> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>2.19.1</version> <configuration> <skipTests>true</skipTests> <!--默认关掉单元测试 --> </configuration> </plugin> </plugins> </build>
需要打包的子项目
注意不需要打包的不需要添加*****<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <!-- 指定该Main Class为全局的唯一入口 --> <mainClass>com.sbco.product.server.SbcoEurekaApplication</mainClass> <layout>ZIP</layout> </configuration> <executions> <execution> <goals> <goal>repackage</goal><!--可以把依赖的包都打包到生成的Jar包中--> </goals> </execution> </executions> </plugin> </plugins> </build>
2 配置docker文件
在子项目的根目录新建 Dockerfile
以下是内容详情FROM hub.c.163.com/library/java:8-alpine MAINTAINER xx xxxx ADD target/*.jar app.jar EXPOSE 8100 ENTRYPOINT ["java", "-jar", "/app.jar"]
注意如window系统下执行dockerfile
先安装dockertoolbox
下面是安装连接
https://blog.csdn.net/qq_35568099/article/details/80359824
然后在idea的命令行执行SET DOCKER_TLS_VERIFY=1 SET DOCKER_HOST=tcp://192.168.99.100:2376 SET DOCKER_CERT_PATH=D:\docker\machines\default SET DOCKER_MACHINE_NAME=default SET COMPOSE_CONVERT_WINDOWS_PATHS=true
就可以执行docker的命令了
-
docker-maven-plugin:自动构建Maven多模块的Docker镜像,并推送到Docker Registry或阿里云
2021-02-05 14:53:45目录 docker-maven-plugin 基本介绍 ...Maven多模块工程 Pom配置-父工程 配置信息 Pom配置-子工程 编写Dockerfile文件制作镜像 前提: 推送镜像-Docker Registry Docker Registry 2.0搭建...目录
Skip Docker Goals Bound to Maven Phases(跳过)
1. com.spotify:dockerfile-maven-plugin:1.4.10 not found
2. java.io.FileNotFoundException: \\.\pipe\docker_engine (系统找不到指定的文件。)
docker-maven-plugin
我们常见开源项目中使用的Docker Maven插件是
com.spotify:docker-maven-plugin
。可用版本信息见Github。通过其介绍可知该插件已经不再推荐使用,取而代之的是
com.spotify:dockerfile-maven-plugin
,Github地址。使用该插件可以在
mvn
命令中直接构建出Docker镜像和完成推送等。dockerfile-maven-plugin
要求用户必须提供Dockerfile用于构建镜像,从而将Docker镜像的构建依据统一到Dockerfile上,这与过时的docker-maven-plugin
是不同的。基本介绍
相比docker-maven-plugin更加灵活安全
也能够绑定 Docker 命令到 Maven 各生命周期
使用手册
Maven Goals命令
Goals available for this plugin:
Goal Description Default Phase dockerfile:build
Builds a Docker image from a Dockerfile. package dockerfile:tag
Tags a Docker image. package dockerfile:push
Pushes a Docker image to a repository. deploy Maven命令执行顺序
mvn package mvn dockerfile:build mvn verify mvn dockerfile:push mvn deploy
Skip Docker Goals Bound to Maven Phases(跳过)
You can pass options to maven to disable the docker goals.
Maven Option What Does it Do? Default Value dockerfile.skip
Disables the entire dockerfile plugin; all goals become no-ops. false dockerfile.build.skip
Disables the build goal; it becomes a no-op. false dockerfile.tag.skip
Disables the tag goal; it becomes a no-op. false dockerfile.push.skip
Disables the push goal; it becomes a no-op. false For example, to skip the entire dockerfile plugin:
mvn clean package -Ddockerfile.skip
Configuration
Build Phase
Maven Option What Does it Do? Required Default Value dockerfile.contextDirectory
Directory containing the Dockerfile to build. yes none dockerfile.repository
The repository to name the built image no none dockerfile.tag
The tag to apply when building the Dockerfile, which is appended to the repository. no latest dockerfile.build.pullNewerImage
Updates base images automatically. no true dockerfile.build.noCache
Do not use cache when building the image. no false dockerfile.build.cacheFrom
Docker image used as cache-from. Pulled in advance if not exist locally or pullNewerImage
isfalse
no none dockerfile.buildArgs
Custom build arguments. no none dockerfile.build.squash
Squash newly built layers into a single new layer (experimental API 1.25+). no false 使用示例
https://github.com/spotify/dockerfile-maven/tree/master/plugin/src/it
注意事项(准备工作)
该插件需要Java 7或更高版本以及Apache Maven 3或更高版本(dockerfile-maven-plugin <= 1.4.6需要Maven> = 3,在其他情况下需要Maven> = 3.5.2)。
要运行集成测试或在实践中使用插件,需要有效的Docker设置。
1. 有一台Docker daemon主机
镜像的制作以及推送操作,都是由Docker来完成的,所以,必须要安装Docker环境。简单的说dockerfile-maven-plugin只是简化了直接操作Docker的复杂度,该是Docker完成的事情,还得由Docker来完成。
所以,明白这一点之后,就知道了并不是一定要在本地安装Docker环境,只要有Docker环境就可以了。2. Docker开启远程API
3. 配置
DOCKER_HOST
选项要使用服务器的Docker环境,需要配置一个环境变量(默认情况下,插件是连接本地的Docker环境,即127.0.0.1)
环境变量的配置如下,改成你自己的服务器Docker环境即可(可能需要重启电脑):
DOCKER_HOST tcp://192.168.1.6:2375标题 4. 镜像仓库认证信息
该插件构建和发布镜像依赖于镜像仓库,需要用户提供镜像仓库的登录信息,支持POM设置和Settings设置
具体参考:https://github.com/spotify/dockerfile-maven/blob/master/docs/authentication.md
pom.xml方式
从1.3.XX版开始,你可以使用pom本身的config进行身份验证。只需添加类似于以下内容的配置:
<plugin> <groupId>com.spotify</groupId> <artifactId>dockerfile-maven-plugin</artifactId> <version>${version}</version> <configuration> <username>repoUserName</username> <password>repoPassword</password> <repository>${docker.image.prefix}/${project.artifactId}</repository> <buildArgs> <JAR_FILE>target/${project.build.finalName}.jar</JAR_FILE> </buildArgs> </configuration> </plugin>
或者
<plugin> <groupId>com.spotify</groupId> <artifactId>dockerfile-maven-plugin</artifactId> <version>${version}</version> <configuration> <repository>${docker.image.prefix}/${project.artifactId}</repository> <buildArgs> <JAR_FILE>target/${project.build.finalName}.jar</JAR_FILE> </buildArgs> </configuration> </plugin>
然后使用命令
mvn goal -Ddockerfile.username=... -Ddockerfile.password=...
Maven多模块工程
Pom配置-父工程
<!-- 构建和推动Docker镜像 --> <plugin> <groupId>com.spotify</groupId> <artifactId>dockerfile-maven-plugin</artifactId> <version>${docker.maven.plugin.version}</version> <executions> <execution> <id>default</id> <goals> <!--如果package时不想用docker打包,就注释掉这个goal--> <goal>build</goal> <goal>push</goal> </goals> </execution> </executions> <configuration> <contextDirectory>${project.basedir}</contextDirectory> <useMavenSettingsForAuth>true</useMavenSettingsForAuth> <repository>${docker.repository.url}/${docker.registry.name}/${project.artifactId}</repository> <username>${docker.registry.username}</username> <password>${docker.registry.password}</password> <tag>${project.version}</tag> <buildArgs> <JAR_FILE>target/${project.build.finalName}.jar</JAR_FILE> </buildArgs> </configuration> </plugin>
配置信息
<!--Registry2仓库的地址,ip:port--> <!--<docker.repository.url>192.168.172.128:5000</docker.repository.url>--> <docker.repository.url>registry.cn-beijing.aliyuncs.com</docker.repository.url> <!--上传的Docker镜像前缀,此前缀一定要和Harbor中的项目名称一致,和阿里云仓库的命名空间一致--> <docker.registry.name>fly_jt</docker.registry.name> <docker.registry.username>XXX@sina.com</docker.registry.username> <docker.registry.password>XXX</docker.registry.password> <docker.maven.plugin.version>1.4.13</docker.maven.plugin.version>
Pom配置-子工程
<plugin> <groupId>com.spotify</groupId> <artifactId>dockerfile-maven-plugin</artifactId> <configuration> <tag>${project.version}</tag> </configuration> </plugin>
编写Dockerfile文件制作镜像
前提:
1. 要有环境变量DOCKER_HOST的配置
2. 要在子工程的目录下(与pom文件同级)创建一个Dockerfile文件
#设置镜像基础,jdk8 FROM java:8 #维护人员信息 MAINTAINER FLY #设置镜像对外暴露端口 EXPOSE 8080 #将当前 target 目录下的 jar 放置在根目录下,命名为 app.jar,推荐使用绝对路径。 ADD target/devicemag-core-1.0.0.jar /devicemag-core-1.0.0.jar #执行启动命令 ENTRYPOINT ["java", "-jar","/devicemag-core-1.0.0.jar"]
在父工程 , 执行mvn clean package 或者 mvn dockerfile:build 打包命令,即可制作镜像
docker images查看镜像
[root@localhost ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE registry.cn-beijing.aliyuncs.com/fly_jt/devicemag-file 1.0.0 d09619501d27 11 seconds ago 643MB registry.cn-beijing.aliyuncs.com/fly_jt/devicemag-system 1.0.0 9497ab784991 13 seconds ago 643MB registry.cn-beijing.aliyuncs.com/fly_jt/devicemag-gateway 1.0.0 861d2577311b 16 seconds ago 643MB registry.cn-beijing.aliyuncs.com/fly_jt/devicemag-auth 1.0.0 98ff94ed01d0 17 seconds ago 643MB registry.cn-beijing.aliyuncs.com/fly_jt/devicemag-core 1.0.0 3defff63849a About a minute ago 643MB mysql 5.7 a70d36bc331a 2 weeks ago 449MB redis 5 e35748fd6a72 3 weeks ago 98.4MB portainer/portainer-ce latest 980323c8eb3f 4 weeks ago 196MB registry.cn-beijing.aliyuncs.com/fly_jt/portainer-ce 2.0.1 980323c8eb3f 4 weeks ago 196MB registry 2 678dfa38fcfa 7 weeks ago 26.2MB nacos/nacos-server 1.3.0 d1f1facebfbc 8 months ago 756MB rabbitmq 3.7.15-management f05c3eb3cf91 19 months ago 179MB java 8 d23bdf5b1b1b 4 years ago 643MB [root@localhost ~]#
推送镜像-Docker Registry
Docker Registry 2.0搭建
docker run -d -p 5000:5000 --restart=always --name registry2 registry:2
Docker Registry 用户和密码配置
容器运行成功,直接使用docker login 192.168.172.128:5000命令,输入Username和Password
我这里设置的是
用户名: test
密码:test[root@localhost ~]# cat ~/.docker/config.json { "auths": { "registry.cn-beijing.aliyuncs.com": { "auth": "Zmx5OTEwOTA1QHNpbmEuY29tOjkxMDkwNWZseQ==" }, "registry.cn-hangzhou.aliyuncs.com": { "auth": "Zmx5OTEwOTA1OjkxMDkwNWZseQ==" } } }[root@localhost ~]# docker login 192.168.172.128:5000 Username: test Password: WARNING! Your password will be stored unencrypted in /root/.docker/config.json. Configure a credential helper to remove this warning. See https://docs.docker.com/engine/reference/commandline/login/#credentials-store Login Succeeded [root@localhost ~]# cat ~/.docker/config.json { "auths": { "192.168.172.128:5000": { "auth": "dGVzdDp0ZXN0" }, "registry.cn-beijing.aliyuncs.com": { "auth": "Zmx5OTEwOTA1QHNpbmEuY29tOjkxMDkwNWZseQ==" }, "registry.cn-hangzhou.aliyuncs.com": { "auth": "Zmx5OTEwOTA1OjkxMDkwNWZseQ==" } } }
参考上面在父工程Pom中指定 repository 、username、password
推送镜像-阿里云
同时 参考上面在父工程Pom中指定 repository 、username、password
推送镜像-阿里云 在子工程 , 执行mvn deploy或者 mvn dockerfile:push 命令,即推送镜像
异常场景
1. com.spotify:dockerfile-maven-plugin:1.4.10 not found
在Maven配置文件settings.xml中添加
<pluginGroups> <!-- pluginGroup | Specifies a further group identifier to use for plugin lookup. <pluginGroup>com.your.plugins</pluginGroup> --> <pluginGroup>com.spotify</pluginGroup> </pluginGroups>
2. java.io.FileNotFoundException: \\.\pipe\docker_engine (系统找不到指定的文件。)
[ERROR] Failed to execute goal com.spotify:dockerfile-maven-plugin:1.4.13:build (default) on project devicemag-core: Could not build image: java.util.concurrent.ExecutionException: com.spotify.docker.client.shaded.javax.ws.rs.ProcessingException: java.io.FileNotFoundException: \\.\pipe\docker_engine (系统找不到指定的文件。) -> [Help 1]
要使用服务器的Docker环境,需要配置一个环境变量(默认情况下,插件是连接本地的Docker环境,即127.0.0.1)
环境变量的配置如下,改成你自己的服务器Docker环境即可(可能需要重启电脑):
DOCKER_HOST tcp://192.168.1.6:2375标题 3. repository element was not specified in the POM inside distributionManagement element or in -DaltDeploymentRepository=id::layout::url parameter
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy (default-deploy) on project devicemag-core: Deployment failed: repository element was not specified in the POM inside distributionManagement element or in -DaltDeploymentRepository=id::layout::url parameter -> [Help 1]
需要注意的是,如果你没有配置部署artifact的maven repository,请不要使用mvn deploy命令,因为它会执行maven-deploy-plugin的deploy目标,而由于没有配置要部署的远程maven repository,会报类似如上的错。
解决办法1 :
在pom.xml中,应该将distributionManagement配置添加到要部署的位置。
<distributionManagement> <repository> <id>internal.repo</id> <name>Internal repo</name> <url></url> </repository> </distributionManagement>
可以在部署期间使用以下命令添加另一个位置(但为了避免出现上述错误,应至少配置一个存储库):
解决办法2 :
使用 mvn dockerfile:push 命令
-
使用docker部署maven多模块项目, 全自动部署
2019-12-30 14:38:07https://www.keppel.fun/articles/2019/12/30/1577687515298.html展开全文 -
spring cloud + jenkins + gitee +docker maven多模块项目自动打包部署
2020-02-01 23:59:26then echo 停止docker容器 sudo docker stop $NAME echo 删除docker容器 sudo docker rm $NAME fi echo 构建docker镜像 sudo docker build -t $NAME:0.0.1 ./ echo 启动docker容器 sudo docker ...原文地址 http://teemor.xyz/article?id=80
1. 配置jenkins环境
安装插件
- gitee
- publish over ssh 构建后将包发送到应用部署服务器,如果应用服务器和jenkins在是一台服务器则无需该插件
系统管理 =》系统设置
Publish over SSH
注意:Remote Directory是复制过去后存放文件路径的起始地址,后面在项目里配置时的路径为基于该路径的相对地址
配置gitee
点击添加按钮添加gitee令牌
根据提示网址获取gitee令牌
设置完之后点击页面下方的保存按钮
系统管理 =》全局工具设置
1.1. 配置maven setting路径
1.2. 配置jdk路径
1.3. 配置git路径
1.4. 配置maven安装路径
1.5.
2. 新建项目
这里选择构建一个自由风格的项目,然后点击确定
选择gitee链接
之前配置的
配置源码仓库
1、git:
设置仓库地址,并且点击添加,添加gitee帐号,设置一次之后,后面就可以直接从下拉框选择已设置的帐号,同时设置项目所选分支如master分支
添加凭据时选择用户名后密码类型的凭据就可以
2、svn方式:当一个git仓库下同时存在多个项目时,使用git方式每次都会把整个仓库拉下来,这时就可以通过svn插件拉取需要拉取的项目。(gitee可以使用svn拉取仓库)
配置项目路径时,使用仓库地址加上项目的相对路径
设置构建命令
maven版本为之前配置的
设置构建脚本
点击增加构建步骤,选择执行shell
编辑shell脚本
附上自用shell脚本
#!/bin/sh WORKSPACE='/var/lib/jenkins/workspace/test' #当前项目的工作空间路径,即jenkins构建后的项目根路径 PROJECT='/target' #编译文件所在路径 TARGET='/home/teemor/docker_home/test' #项目部署路径,也就是Dockerfile所在路径 NAME='test' #项目名 PORT='8770' #项目暴露的端口 CONTAINER_ID=`sudo docker ps -a | grep $REPOSITORIES | awk '{print $1}'` echo 容器ID $CONTAINER_ID cd $WORKSPACE$PROJECT echo 当前路径 pwd echo 复制文件开始 sudo cp ./$NAME.jar $TARGET echo 复制文件结束 cd $TARGET echo 当前路径 pwd if [ -n "$CONTAINER_ID" ]; then echo 停止docker容器 sudo docker stop $NAME echo 删除docker容器 sudo docker rm $NAME fi echo 构建docker镜像 sudo docker build -t $NAME:0.0.1 ./ echo 启动docker容器 sudo docker run -d --name $NAME-p $PORT:$PORT $NAME:0.0.1
提示:脚本执行可能会失败,因为jenkins是使用jenkins用户执行脚本的,没有sudo权限,需要配置
先以root用户的身份登录,然后执行vi sudo , 或者其他具有sudo 权限的用户执行 sudo visudo也是一样的
在打开的文件中找到
## Allow root to run any commands anywhere root ALL=(ALL) ALL
在这一行下面添加用户名,然后保存退出,之后用户就具有使用sudo命令的权限了。
修改后如下所示
## Allow root to run any commands anywhere root ALL=(ALL) ALL jenkins ALL=(ALL) ALL
如果要让用户在使用sudo的时候不再需要输入密码,还需要修改刚才的文件visduo
jenkins ALL=(ALL) NOPASSWD:ALL
如果是需要打包后部署到其它服务器则按以下方式
部署到远程主机则构建过程只需要配置maven打包,无需设置shell命令。
构建后操作:点击增加构建后操作步骤,选择 send build artifacts over ssh。前面安装插件时提到过需要安装publish over ssh插件
Remote Directory 为相对地址,基于之前设置中配置的路径
bash /home/teemor/docker_home/deploy.sh -p 7020 -n test -j /home/teemor/docker_home/test
部署脚本,和之前直接编辑在构建脚本的类似,构建脚本也可以改为直接调用shell脚本,这样配置jenkins时更方便
#!/bin/sh while getopts :p:n:j: opt; do case $opt in p) PORT=${OPTARG} ;; n) CONTAINER_NAME=${OPTARG} ;; j) JAR_PATH=${OPTARG} ;; esac done echo config: echo PORT: $PORT echo CONTAINER_NAME: $CONTAINER_NAME echo JAR_PATH: $JAR_PATH CONTAINER_ID=`sudo docker ps -a | grep $CONTAINER_NAME | awk '{print $1}'` echo 容器ID $CONTAINER_ID if [ -n "$CONTAINER_ID" ]; then echo 停止docker容器... sudo docker stop $CONTAINER_NAME echo 删除docker容器... sudo docker rm $CONTAINER_NAME fi echo 构建docker镜像 sudo docker build -t $CONTAINER_NAME:0.0.1 $JAR_PATH echo 启动docker容器... sudo docker run -d --name $CONTAINER_NAME -p $PORT:$PORT $CONTAINER_NAME:0.0.1
最后附上Dockerfile
在部署ar包的目录(/home/teemor/docker_home/test)下创建Dockerfile文件,名字就是Dockerfile,Dockerfile内脚本如下
From java:8 ADD test.jar /app.jar EXPOSE 8090 ENTRYPOINT ["java","-jar","/app.jar"]
docker安装和使用方式请百度
一切设置完成之后,点击保存,会自动跳转到项目页面,点击立即构建
构建过程中,点击此处可以查看本次构建信息
点击控制台输出可以查看构建过程中打印的日志信息,便于跟踪排查错误信息
著作权归作者所有。
商业转载请联系作者获得授权,非商业转载请注明出处。
作者:zhoulk
来源:https://blog.teemor.xyz
-
使用docker安装jenkins并实现自动发布springboot+maven多模块war包(码云)
2019-11-15 09:13:551.安装docker 按照菜鸟教程装就行了:https://www.runoob.com/docker/centos-docker-install.html, 还有docker镜像加速也要配上,否则下载镜像速度会很慢 2.安装jenkins镜像并启动容器 2.1 进入docker hub... -
springboot-multi-module-v2:docker部署maven构建多模块springboot项目-源码
2021-03-05 18:44:03springboot-multi-module-v2:docker部署maven构建多模块springboot项目 -
spring-boot使用maven构建docker镜像(多服务)
2020-06-02 01:52:30spring-boot使用maven构建docker镜像(多服务) 文章目录多服务 构建docker镜像 + 运行前提:示例项目正文1. 编写每个服务的 Dockerfile(基本相同)2. 每个服务的 pom.xml 引入 io.fabric8/docker-maven-plugin 插件... -
io.fabric8:docker-maven-plugin插件在idea多模块之下使用
2020-07-28 09:57:41io.fabric8:docker-maven-plugin插件在多模块之下使用 准备,装docker,基于Centos(其他的可参考) 首先安装好docker容器,会自动生成文件/usr/lib/systemd/system/docker.service 开启docker远程服务 编辑文件... -
说说 Maven 的多模块设计
2020-12-04 20:03:17如果项目很大,那么可以在项目搭建时,考虑使用 Maven 多模块功能。比如一个能力平台,可能分为API 模块、日志模块与计费模块等等。这样做的好处是1: (1) 方便重用。一个新项目如果需要使用某个模块时,就可以... -
Dubbo+springboot分布式多模块项目通过maven打两个jar包,在Linux的服务器下使用docker部署项目步骤
2019-12-10 20:41:26Dubbo(生产者[service层]+消费者[web层])+springboot分布式多模块项目通过maven打两个jar包,在Linux的服务器下使用docker部署(Dockerfile)项目步骤 文章目录Dubbo(生产者[service层]+消费者[web层])+... -
jenkins部署springboot多模块项目至docker容器运行
2020-07-07 15:08:52docker安装jenkins,war包安装jenkins jenkins部署项目至tomcat jenkins下载Git Parameter插件 clean package -U -pl ${module} -am -Dmaven.test.skip=...至此git分支、maven子模块可选的项目已经可以编译成功 -
Springboot+Gradle+Docker构建多模块项目
2018-07-19 22:09:10背景 引入子模块时exclude失效 ...原有Springboot基于Maven构建的多模块项目需要改为Gradle版的多模块项目,派我前去开荒,我便傻傻的入坑了。 阅读前:请先对gradle有一定了解,概念什么的我就不多说,网上教程大把... -
Springboot+dubbo+maven搭建多模块项目(二)-代码编写
2019-03-15 15:52:37接着上一篇项目架构的布局,下面我们一起来实践下dubbo...dubbo环境的搭建可参考文章环境搭建:https://blog.csdn.net/qq_41820981/article/details/88537399 包括基于docker的zookeeper安装及dubbo admin的安装。 2... -
jenkins+gitee+docker自动化构建springcloud多模块(一)
2020-07-05 18:20:123、maven(编译项目) 二、jenkins安装 1、获取jenkins.repo [root@kedouer~]# wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo [root@kedouer ~]# rpm --import ... -
使用jlink工具模块化Java应用,结合Docker优化容器镜像(下)
2019-10-04 12:58:18当项目中的依赖越来越多时,对模块的管理会越发的复杂,容易出错。这里使用maven-dependency-plugin插件对依赖做统一的管理,减少工作量,避免不必要的模块管理工作。注意:这个插件需要放在第一个插件的位置,避免... -
第21章 Docker Jenkins 持续集成多项目构建
2020-09-20 14:13:52文章目录Jenkins 持续集成多项目构建job调度构建举例:项目回滚jenkins 插件jenkins常用插件汇总**Maven单独构建多模块项目中的单个模块**持续集成之Jenkins插件使用(一)- 多个job之间的串并联1. [Copy Artifact ... -
maven学习文档.docx
2019-11-26 19:38:41maven学习文档,包含常见错误和docker的集成,包含多模块开发,不同的profile的开发,和一些插件基础属性说明 -
Docker 私有仓库之 Nexus3
2018-11-02 15:16:02最近开发微服务项目越来越多,各种头疼的环境问题接踵而至,打算把一些相对固定的模块打成Docker镜像独立发布,跟业务模块分开维护。原来只是用 Docker Hub 来发布一些自己的镜像,是时候考虑建个自己的 Docker 私服... -
JMeter+Maven+Jenkins无人值守自动化测试框架 一、JMeter介绍 具体参考JMeter官网 1.1、环境准备 jdk必不可少,1.8+ jmeter安装包,选择合适的版本...当然,可以分模块来开发.jmx脚本,使用不同的数据文件驱动