首页 理论教育 Java服务端研发知识图谱-生成镜像及保存

Java服务端研发知识图谱-生成镜像及保存

时间:2023-11-22 理论教育 版权反馈
【摘要】:现在Harbor仓库已经搭建完毕,下面做的事情就是通过Jenkins生成镜像,然后把镜像推送至Harbor仓库。镜像推送前准备在将要生成镜像的服务器中,先关掉Harbor仓库的安全认证。Dockerfile文件的作用正如第19章所介绍,是镜像生成的配置;而provider_image.sh文件的作用是调用生成镜像的命令并推送镜像至Harbor。图20-23 Harbor仓库镜像图20-24 Harbor仓库镜像文件

Java服务端研发知识图谱-生成镜像及保存

现在Harbor仓库已经搭建完毕,下面做的事情就是通过Jenkins生成镜像,然后把镜像推送至Harbor仓库。

(1)镜像推送前准备

在将要生成镜像的服务器中,先关掉Harbor仓库的安全认证。新建/etc/default/docker文件,文件中填写如下内容:

978-7-111-61011-3-Part04-41.jpg

然后在/usr/lib/systemd/system/docker.service文件中添加如下内容:

EnvironmentFile=-/etc/default/docker

使用如下命令重启Docker:

$systemctl daemon-reload

$systemctl restart docker

(2)设置Jenkins

以之前编写的SpringCloudServiceProvider工程为例,在Jenkins中新建一个任务,这个任务的作用就是编译Provider工程,并且把此工程的jar文件推送至镜像生成服务器,然后运行此服务器中的一个脚本,生成Provider工程的镜像并且推送至Harbor仓库。此工程的编译部分与之前介绍Jenkins生成jar文件相同,只要配置好工程名和路径即可,推送和运行脚本部分有一点需要注意,就是jar文件的文件夹要和脚本文件夹相同,如图20-22所示。

(3)镜像生成服务器配置

在Jenkins推送到的目录中,要准备好生成镜像的Dockerfile文件和可执行脚本provider_image.sh。Dockerfile文件的作用正如第19章所介绍,是镜像生成的配置;而provider_image.sh文件的作用是调用生成镜像的命令并推送镜像至Harbor。

Dockerfile文件配置如下:

FROM java:8

ADD SpringCloudServiceProvider-0.0.1-SNAPSHOT.jar/data/run/

EXPOSE 18010

WORKDIR/data/run/

ENTRYPOINT["java","-jar","SpringCloudServiceProvider-0.0.1-SNAPSHOT.jar","--spring.profiles. active=providerA"](www.xing528.com)

978-7-111-61011-3-Part04-42.jpg

图20-22 设置Jenkins推送目的地及脚本

provider_start.sh文件配置如下:

#!/bin/sh

cd/data/javadevmap/Spring_Cloud/SpringCloudServiceProviderImage

Date_time=`date"+%F-%H-%M"`

docker build-t 172.17.238.239/springcloud/provider:0.0.1.${Date_time}.

docker login 172.17.238.239--username admin--password Harbor12345

docker push 172.17.238.239/springcloud/provider:0.0.1.${Date_time}

添加完文件后,记得执行chmod u+x provider_image.sh命令设置文件权限。

(4)Harbor仓库添加项目

在Harbor中,要先添加一个项目,用于承接推送到Harbor的镜像,此项目名称要和镜像工程名相同,这里创建项目名称为springcloud。由于Harbor的可视化页面操作起来较为简单,这里就不再演示。

(5)执行效果

在Jenkins中执行“立即构建”,然后观察构建进度,可以发现项目编译完成后执行了镜像生成,并且把镜像推送至Harbor仓库,在Harbor的镜像仓库中可以看到镜像文件列表,如图20-23、图20-24所示。

978-7-111-61011-3-Part04-43.jpg

图20-23 Harbor仓库镜像

978-7-111-61011-3-Part04-44.jpg

图20-24 Harbor仓库镜像文件

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈