最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

如何通過(guò)idea把項(xiàng)目到私有倉(cāng)庫(kù)

 更新時(shí)間:2025年07月18日 17:08:01   投稿:jingxian  
本文介紹Harbor倉(cāng)庫(kù)的創(chuàng)建與使用流程,涵蓋Maven遠(yuǎn)程配置、pom.xml參數(shù)設(shè)置、Dockerfile構(gòu)建鏡像及執(zhí)行發(fā)布步驟,旨在實(shí)現(xiàn)項(xiàng)目運(yùn)維自動(dòng)化,降低維護(hù)成本

前言

該篇文章主要是harbor倉(cāng)庫(kù)創(chuàng)建和使用,如果需要看docker創(chuàng)建部署可以看第一篇文章。

通過(guò)下面四篇文章可以快速的實(shí)現(xiàn)項(xiàng)目運(yùn)維部署管理,大大減少項(xiàng)目維護(hù)的工作量

一、修改maven配置

我們本地如果安裝了docker環(huán)境則不用做處理,直接調(diào)用本地環(huán)境進(jìn)行打包制作鏡像發(fā)布;但很多時(shí)候我們本地不一定會(huì)安裝docker的環(huán)境,這時(shí)候我們就需要通過(guò)配置遠(yuǎn)程連接服務(wù)器的方式進(jìn)行打包制作鏡像。

打開idea設(shè)置,進(jìn)入Settings > Build, Execution, Deployment > Build Tools > Maven > Runner,配置環(huán)境變量:

  • DOCKER_TLS_VERIFY:?jiǎn)⒂冒踩?yàn)證
  • DOCKER_HOST:服務(wù)器docker的地址
  • DOCKER_CERT_PATH:遠(yuǎn)程的服務(wù)器docker的加密證書地址
DOCKER_TLS_VERIFY=1;DOCKER_HOST=https://10.37.129.2:2376;DOCKER_CERT_PATH=/Library/zheng/docker/tls

二、配置pom.xml文件

下面配置由幾部分組成:

  • <properties> 主要用來(lái)讀取版本聲明和harbor倉(cāng)庫(kù)域名地址
  • <plugins> 用來(lái)聲明插件集合,主要包括了maven打包的插件以及docker構(gòu)建插件

下面的配置是可以直接粘貼使用的,只需要修改自己的harbor倉(cāng)庫(kù)的賬號(hào)密碼,以及項(xiàng)目名稱即可

    <properties>
        <!-- docker鏡像的版本號(hào)  -->
        <image.tag.verion>1.0.1</image.tag.verion>
        <!-- 遠(yuǎn)程harbor倉(cāng)庫(kù)的域名地址 -->
        <docker.repostory>10.37.129.2:5000</docker.repostory>
        <!-- harbor為這個(gè)項(xiàng)目創(chuàng)建的目錄   -->
        <harbor.project>ssyx</harbor.project>
    </properties>

    <build>
        <finalName>${project.artifactId}</finalName> <!--jar包名字-->
        <plugins>
            <!-- Maven Compiler Plugin -->
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <!-- 在此處添加 Maven 編譯插件的配置,如果需要的話 -->
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

            <!-- Docker 構(gòu)建插件 -->
            <plugin>
                <groupId>com.spotify</groupId>
                <artifactId>dockerfile-maven-plugin</artifactId>
                <version>1.4.13</version>
                <executions>
                    <execution>
                        <id>default</id>
                        <!--    maven打包階段就觸發(fā)dockerfile-maven-plugin插件的以下動(dòng)作   -->
                        <phase>package</phase>
                        <goals>
                            <goal>build</goal>
                            <goal>tag</goal>
                            <goal>push</goal>
                        </goals>
                        <configuration>
                            <!-- docker鏡像版本號(hào),引用上面的 -->
                            <tag>${image.tag.verion}</tag>
                        </configuration>
                    </execution>
                </executions>
                <configuration>
                    <!-- 指定dockerfile所在目錄 -->
                    <contextDirectory>${project.basedir}</contextDirectory>
                    <!-- 指定docker鏡像名,格式必須這樣寫,  注意:這里${docker.repostory}倉(cāng)庫(kù)地址必須有,因?yàn)閐ocker需要這個(gè)去連接你真實(shí)倉(cāng)庫(kù)地址,否則就會(huì)連接到官方的docker.io倉(cāng)庫(kù)了, 鏡像名稱格式是:harbor倉(cāng)庫(kù)域名/子倉(cāng)庫(kù)/鏡像名稱,版本號(hào)由上面的tag動(dòng)作標(biāo)注 -->
                    <repository>${docker.repostory}/${harbor.project}/${project.artifactId}</repository>
                    <!-- 連接遠(yuǎn)程harbor倉(cāng)庫(kù)的用戶名和密碼 -->
                    <username>admin</username>
                    <password>Harbor12345</password>
                    <!-- 傳遞環(huán)境變量:JAR_FILE給dockerfile -->
                    <buildArgs>
                        <JAR_FILE>${project.build.finalName}.jar</JAR_FILE>
                    </buildArgs>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

三、創(chuàng)建Dockerfile配置文件

Dockerfile作用主要是構(gòu)建docker的鏡像使用,下面的代碼大致的作用就是先指定基礎(chǔ)鏡像,因?yàn)槭莏ava應(yīng)用,所以指定jdk作為啟動(dòng)環(huán)境,然后在讀取本地maven打好的jar包,構(gòu)建好一個(gè)鏡像,最后在通過(guò)ENTRYPOINT設(shè)置啟動(dòng)命令

需要注意FROM 引用的jdk鏡像根據(jù)自己情況選擇一個(gè)

# 設(shè)置JAVA版本,如果需要生成圖片(驗(yàn)證碼等),則需要使用 openjdk:8-jdk 這個(gè)基礎(chǔ)鏡像、
# openjdk:8-jre #如果只需要運(yùn)行時(shí)環(huán)境則可以使用這個(gè)會(huì)比jdk的更小
# openjdk:8-jdk
FROM openjdk:8-jdk-alpine
# 接收pom.xml文件傳遞的變量
ARG JAR_FILE
# 注意WORKDIR指向的目錄必須提前存在,否則后面復(fù)制文件的時(shí)候會(huì)失敗,導(dǎo)致容器無(wú)法運(yùn)行
RUN echo "JAR_FILE is: ${JAR_FILE}" && mkdir /app
WORKDIR /app
COPY target/${JAR_FILE} ./app.jar
RUN echo "ls result" && ls -l /app

ENTRYPOINT ["java","-Xms512m", "-Xmx1g", "-Dfile.encoding=UTF-8", "-jar", "app.jar"]


四、執(zhí)行

最后點(diǎn)擊package即可執(zhí)行打包jar并且把jar包轉(zhuǎn)為鏡像發(fā)布到倉(cāng)庫(kù)

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java中URL的處理方法詳解

    Java中URL的處理方法詳解

    URL(Uniform?Resource?Locator)中文名為統(tǒng)一資源定位符,有時(shí)也被俗稱為網(wǎng)頁(yè)地址,表示為互聯(lián)網(wǎng)上的資源,本文主要為大家介紹了Java是如何處理URL的,感興趣的可以了解一下
    2023-05-05
  • 如何使用Java模擬退火算法優(yōu)化Hash函數(shù)

    如何使用Java模擬退火算法優(yōu)化Hash函數(shù)

    為了解決局部最優(yōu)解問(wèn)題,1983年,Kirkpatrick等提出了模擬退火算法(SA)能有效的解決局部最優(yōu)解問(wèn)題。模擬退火算法包含兩個(gè)部分即Metropolis算法和退火過(guò)程。Metropolis算法就是如何在局部最優(yōu)解的情況下讓其跳出來(lái),是退火的基礎(chǔ)
    2021-06-06
  • java 如何復(fù)制非空對(duì)象屬性值

    java 如何復(fù)制非空對(duì)象屬性值

    這篇文章主要介紹了java 如何復(fù)制非空對(duì)象屬性值的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • 詳解SpringBoot+Ehcache使用示例

    詳解SpringBoot+Ehcache使用示例

    本文介紹了SpringBoot中配置Ehcache、自定義get/set方式,并實(shí)際使用緩存的過(guò)程,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2025-09-09
  • Springmvc完成ajax功能實(shí)例詳解

    Springmvc完成ajax功能實(shí)例詳解

    在本篇文章里小編給大家整理了關(guān)于Springmvc完成ajax功能實(shí)例內(nèi)容,有需要的朋友們可以參考學(xué)習(xí)下。
    2019-09-09
  • MyBatis mapping類基本用法

    MyBatis mapping類基本用法

    這篇文章主要為大家介紹了MyBatis mapping類基本用法示例詳解,
    有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-09-09
  • Java中的內(nèi)存模型(JMM)和鎖機(jī)制詳解

    Java中的內(nèi)存模型(JMM)和鎖機(jī)制詳解

    這篇文章主要介紹了Java中的內(nèi)存模型(JMM)和鎖機(jī)制使用,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-06-06
  • 詳解Java編程中包package的內(nèi)容與包對(duì)象的規(guī)范

    詳解Java編程中包package的內(nèi)容與包對(duì)象的規(guī)范

    這篇文章主要介紹了Java編程中包package的內(nèi)容與包對(duì)象的規(guī)范,是Java入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-12-12
  • SpringBoot配置文件密碼加密的三種方案

    SpringBoot配置文件密碼加密的三種方案

    這篇文章主要介紹了SpringBoot配置文件密碼加密的三種方案,文中通過(guò)代碼示例給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2024-04-04
  • MyBatisPlus 15個(gè)高級(jí)用法詳解

    MyBatisPlus 15個(gè)高級(jí)用法詳解

    MyBatis-Plus(簡(jiǎn)稱MP)是Java后端開發(fā)中非常流行的ORM框架,它能夠簡(jiǎn)化CRUD操作,下面給大家分享MyBatisPlus 15個(gè)高級(jí)用法,感興趣的朋友跟隨小編一起看看吧
    2026-03-03

最新評(píng)論

汨罗市| 高陵县| 敦煌市| 大安市| 鹤壁市| 伽师县| 台前县| 兴义市| 江都市| 赤壁市| 冕宁县| 横山县| 阳高县| 四平市| 东台市| 布尔津县| 丁青县| 博湖县| 荔浦县| 台江县| 芒康县| 绥江县| 达孜县| 永平县| 兰西县| 毕节市| 开远市| 内江市| 武安市| 赣州市| 南安市| 阜城县| 延川县| 清河县| 镇巴县| 巴彦淖尔市| 长葛市| 彭山县| 南木林县| 曲沃县| 龙海市|