亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網(wǎng)為廣大站長提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.430618.com 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

目錄
  • pom配置
  • setting.xml配置
  • 登錄情況
    • 需要登錄
    • 無需登錄
  • maven多模塊情況配置
    • jenkins
      • jenkins服務(wù)器安裝docker
      • 修改jenkins項(xiàng)目配置

    最近在將應(yīng)用部署到容器平臺(tái),需要在打包時(shí)生成docker鏡像,在網(wǎng)上首先搜到了docker-maven-plugin這個(gè)插件,但使用起來很麻煩,在maven和dockfile都要做很多額外的配置。后來在官方Github看到作者推薦使用dockerfile-maven-plugin這個(gè)新的插件,于是替換成這個(gè),但這個(gè)插件在網(wǎng)上的相關(guān)資料較少。在此記錄一哈

    pom配置

    <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-deploy-plugin</artifactId>
                    <configuration>
                        <skip>true</skip>
                    </configuration>
                </plugin>
    
                <!-- Dockerfile maven plugin -->
                <plugin>
                    <groupId>com.spotify</groupId>
                    <artifactId>dockerfile-maven-plugin</artifactId>
                    <version>1.4.10</version>
                    <executions>
                        <!--<execution>-->
                            <!--<id>default</id>-->
                            <!--<goals>-->
                                <!--&lt;!&ndash;如果package時(shí)不想用docker打包,就注釋掉這個(gè)goal&ndash;&gt;-->
                                <!--<goal>build</goal>-->
                                <!--<goal>push</goal>-->
                            <!--</goals>-->
                        <!--</execution>-->
                    </executions>
                    <configuration>
                        <repository>docker-reg.****.com/feedback/${artifactId}-${profiles.active}</repository>
                        <tag>${project.version}</tag>
                        <buildArgs>
                            <JAR_FILE>target/${project.build.finalName}.jar</JAR_FILE>
                        </buildArgs>
                    </configuration>
                </plugin>
    

    setting.xml配置

    這個(gè)文件在maven目錄下,可以 cd $M2_HOME/conf 進(jìn)入。

    在pluginGroups中增加一個(gè)com.spotify

      <pluginGroups>
        <pluginGroup>com.spotify</pluginGroup>
      </pluginGroups>
    

    登錄情況

    需要登錄

    關(guān)于如何驗(yàn)證登錄,坑比較多。如果你在habor設(shè)置你的倉庫為私有,那必須要登錄,按照官方配置就可以,如下。

     <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>
    

    無需登錄

    但因?yàn)槲遗渲昧嗽趉8s自動(dòng)從habor獲取鏡像,所以設(shè)置了公開,這種情況下無需登錄,但有時(shí)也會(huì)執(zhí)行失敗,此時(shí)你需要?jiǎng)h掉~/.docker/config.json中的這個(gè)網(wǎng)站的配置。

    cat ~/.docker/config.json
    
    {
        "auths": {
            "192.168.87.110:5000": {
                "auth": "YWRtaW46JKDtaW4xMjM="
            }(刪掉此處)
        },
        "HttpHeaders": {
            "User-Agent": "Docker-Client/18.09.0 (linux)"
        }
    }
    

    確認(rèn)這里為空后,如果還報(bào)錯(cuò),可以再執(zhí)行一次docker login … ,這樣就成功了

    maven多模塊情況配置

    在多模塊的情況下,打包插件一定要放置在Application子模塊中,如果放在root pom中會(huì)導(dǎo)致打包不成功。

    如下情況:

    • -app
    • ​ -common
    • ​ -file
    • ​ -mail
    • ​ -application
    • ​ -pom.xml

    這種情況,我們可以分兩個(gè)步驟

    第一步先打包全部模塊,在根目錄下

    mvn clean package -P test
    

    第二步在要打包鏡像的子模塊中執(zhí)行deploy命令

    mvn dockerfile:build dockerfile:push

    這樣,就能成功將子模塊打包為鏡像并push。

    jenkins

    在本地測試完之后,要將這個(gè)流程弄到j(luò)enkins,做一些配置。

    jenkins服務(wù)器安裝docker

    此處不再贅述,maven的setting.xml等配置和本地一樣。

    修改jenkins項(xiàng)目配置

    此時(shí),由于項(xiàng)目需要打包兩次(一次在根目錄打包,第二次在子目錄打包為鏡像),所以需要執(zhí)行兩次mvn命令,和之前不一樣,所以將第一次的執(zhí)行還是使用jenkins的Build模塊。

    dockerfile-maven-plugin使用指南小結(jié)

    第二次的執(zhí)行放置在post steps中通過命令在執(zhí)行

    dockerfile-maven-plugin使用指南小結(jié)

    cd 子模塊目錄
    mvn clean package -P $env dockerfile:build dockerfile:push

    這樣,就可以完成打包并制作鏡像的步驟了

    分享到:
    標(biāo)簽:Dockerfile Maven 使用指南 小結(jié) 服務(wù)器
    用戶無頭像

    網(wǎng)友整理

    注冊(cè)時(shí)間:

    網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

    • 51998

      網(wǎng)站

    • 12

      小程序

    • 1030137

      文章

    • 747

      會(huì)員

    趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
    最新入駐小程序

    數(shù)獨(dú)大挑戰(zhàn)2018-06-03

    數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

    答題星2018-06-03

    您可以通過答題星輕松地創(chuàng)建試卷

    全階人生考試2018-06-03

    各種考試題,題庫,初中,高中,大學(xué)四六

    運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

    記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

    每日養(yǎng)生app2018-06-03

    每日養(yǎng)生,天天健康

    體育訓(xùn)練成績?cè)u(píng)定2018-06-03

    通用課目體育訓(xùn)練成績?cè)u(píng)定