A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 我是楠楠 黑马粉丝团   /  2020-1-15 15:09  /  1201 人查看  /  0 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

【郑州校区】学成在线-第20天-讲义-DevOps 七

4.2.3 编写Pom.xml
本例子将xc-govern-center工程使用Jenkins进行构建。
xc-govern-center工程根目录编写pom_docker_registry.xml
此文件相比工程原有pom.xml增加了docker-maven-plugin插件,其作用是构建docker镜像并将镜像推送到
Docker私有仓库(192.168.101.64:5000)。
[AppleScript] 纯文本查看 复制代码
 <?xml version="1.0" encoding="UTF‐8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema‐instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
[url]http://maven.apache.org/xsd/maven[/url]‐4.0.0.xsd">
<parent>
<artifactId>xc‐framework‐parent</artifactId>
<groupId>com.xuecheng</groupId>
<version>1.0‐SNAPSHOT</version>
<relativePath>../xc‐framework‐parent/pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>xc‐govern‐center</artifactId>
<version>1.0‐SNAPSHOT</version>
<dependencies>
<!‐‐ 导入Eureka服务的依赖 ‐‐>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring‐cloud‐starter‐netflix‐eureka‐server</artifactId>
</dependency>
</dependencies>
<build>
<finalName>${project.artifactId}‐${project.version}</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring‐boot‐maven‐plugin</artifactId>
</plugin>
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker‐maven‐plugin</artifactId>
<version>1.0.0</version>
<!‐‐docker镜像相关的配置信息‐‐>
<configuration>
<!‐‐镜像名,这里用工程名‐‐>
<imageName>${project.artifactId}‐${project.version}</imageName>
<!‐‐Dockerfile文件所在目录‐‐>
<dockerDirectory>${project.basedir}/src/main/resources</dockerDirectory>
<!‐‐TAG,这里用工程版本号‐‐>
<imageTags>
<imageTag>${project.version}</imageTag>
</imageTags>
<registryUrl>192.168.101.64:5000</registryUrl>
<pushImage>true</pushImage>
<imageName>192.168.101.64:5000/${project.artifactId}:${project.version}
</imageName>
<!‐‐构建镜像的配置信息‐‐>
<resources>
<resource>
<targetPath>/</targetPath>
<directory>${project.build.directory}</directory>
<include>${project.artifactId}‐${project.version}.jar</include>
</resource>
</resources>
</configuration>
</plugin>
</plugins>
</build>
</project>

4.4 创建持续集成任务
4.4.1创建构建任务
创建学成在线的构建任务:
1.jpg

4.4.2 配置git仓库
1、配置git凭证
此凭证用于远程从git仓库克隆工程源代码
输入git仓库的账号和密码,这里如果使用码云,下边需要配置码云的账号和密码。

1.jpg
2、配置git仓库地址,此地址即xc-edu项目的地址

1.jpg
4.4.3 maven构建配置
目标:
使用jenkins重复构建不要产生重复镜像
使用jekins停止容器、删除容器、删除镜像之间进行判断
构建过程分为三步:
本例子以构建xc-govern-center工程为例,其它工程构建方式类似。
1、使用shell脚本停止容器、删除容器、删除镜像
远程登录192.168.101.64(测试服务器)
停止xc-govern-center容器
删除xc-govern-center容器
删除192.168.101.64:5000/xc-govern-center:1.0-SNAPSHOT镜像
shell脚本如下:
[AppleScript] 纯文本查看 复制代码
 #!/bin/bash
result=$(docker ps | grep "192.168.101.64:5000/xc‐govern‐center")
if [[ "$result" != "" ]]
then
echo "stop xc‐govern‐center"
docker stop xc‐govern‐center
fi
result1=$(docker ps ‐a | grep "192.168.101.64:5000/xc‐govern‐center")
if [[ "$result1" != "" ]]
then
echo "rm xc‐govern‐center"
docker rm xc‐govern‐center
fi
result2=$(docker images | grep "192.168.101.64:5000/xc‐govern‐center")
if [[ "$result2" != "" ]]
then
echo "192.168.101.64:5000/xc‐govern‐center:1.0‐SNAPSHOT"
docker rmi 192.168.101.64:5000/xc‐govern‐center:1.0‐SNAPSHOT
fi 


1.jpg
3、拉取镜像,创建容器,启动容器
docker私有仓库拉取镜像并创建容器,启动容器
显示容器运行日志

1.jpg

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马