2.docker镜像制作及部署工作任务(吴灵辉,赵露露,张旭协助)
工作目标:开发源环境脚本自动生成镜像文件(加版本号 x.x.x),提交至镜像库,在另外环境从镜像库自动部署启动,
总流程:sousa项目docket自动制作dockfile->进入仓库->部署.3环境
1)项目svn://39.104.16.40:3510/manufacture/codeSource/trunk/sousa
2)环境 39.104.16.40 /home/cmes/workspace/sousa/sousa,从这里制作dockfile,能够通过shell脚本自动生成sousa镜像,
3)镜像仓库:一会儿提供
4)部署环境:39.105.142.3,从镜像库拉取镜像,并能启动运行@小太阳 955 @啦啦啦拉拉啦啦啦
不要弄错了 sousa那个项目下
这次制作做的镜像放到sousa那里
先学会弄镜像,脚本自动生成镜像然后在学提交镜像库
root rootroot12345
思路:
#! /bin/sh
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_162/
export PATH=$PATH:$JAVA_HOME/bin/
export CLASSPATH=.
# 获得mvn版本号。
VERSION=$(mvn org.apache.maven.plugins:maven-help-plugin:3.1.0:evaluate -Dexpression=project.version -q -DforceStdout)
# 截取一下.
VERSION=`echo ${VERSION%.*}`
# 获得mvnartifactId 镜像名字。 这里的war设置了名称。打包后
# ARTIFACT_ID=$(mvn org.apache.maven.plugins:maven-help-plugin:3.1.0:evaluate -Dexpression=project.artifactId -q -DforceStdout)
# docker hub url
URL=ip:50002
# 检出
# svn checkout svn://39.104.16.40:3510/manufacture/codeSource/trunk/sousa
# 更新源代码。
svn update --username wulinghui --password wulinghui@123
# mvn打包。 建议:如果要跳过测试,在pom.xml里面添加吧。
# mvn install -Dmaven.test.skip=true
mvn clean package
WAR_NAME=`ls target | grep .war`
# 由pom文件决定.
#TAG_URL=$URL/$ARTIFACT_ID:$VERSION
# 由用户输入
TAG_URL=$URL/$1:$VERSION
# docker
# 备份一下。
rm -rf docker.bak
mv -f docker docker.bak
# 新建
mkdir docker
# 复制到docker文件中,注意这里的war应该可以直接部署的,不会出现war依赖问题。这个在pom.xml里面配置就行了。
cp target/$WAR_NAME docker/
# 重命名
# mv docker/$ARTIFACT_ID-$VERSION.war docker/$ARTIFACT_ID.war
# 编写dockerFile文件
cat > docker/Dockerfile <<EOF
from tomcat:8.0
MAINTAINER ys
COPY $WAR_NAME /usr/local/tomcat/webapps
EOF
# build Dockerfile
cd docker
docker build -t $TAG_URL .
# 登录
docker login -u admin -p Docker123 $URL
# push 仓库。
docker push $TAG_URL
# 注销.
#docker logout
# 登录ssh到其他机器,执行pull run 等等部署
龙哥,做完了。
用户使用如下:
cd /home/cmes/workspace/sousa/sousa
sh -x run-boot.sh sousa/sousa
生成的docker-tag: pom-version对应的是pom.xml的version
ip:50002/sprism-service/sousa:pom-version
- 第1版,打war
<build>
<defaultGoal>war</defaultGoal>
<sourceDirectory>src/main/java</sourceDirectory>
<plugins>
<!--compile -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.2</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
<executions>
<execution>
<id>default-compile</id>
<phase>compile</phase>
<goals>
<goal>compile</goal>
</goals>
</execution>
</executions>
</plugin>
<!--war -->
<plugin>
<artifactId>ma