Docker /git 結(jié)合 Jenkins

docker+Jenkins

結(jié)合Jenkins大體思路:將springboot應(yīng)用打包并發(fā)布成docker鏡像掂碱,然后再運行她我。Jenkins主要執(zhí)行的步驟是:拉取代碼--->打包--->發(fā)布鏡像---->運行鏡像

  1. spring boot 應(yīng)用配置

    添加下面maven插件:

    dockerfile 位置根據(jù)具體情況修改3胍2蹲小抛腕!

         <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                </plugin>
                <plugin>
                    <groupId>com.spotify</groupId>
                    <artifactId>dockerfile-maven-plugin</artifactId>
                    <version>1.4.13</version>
                    <executions>
                        <execution>
                            <id>default</id>
                            <goals>
                                <goal>build</goal>
                                <goal>push</goal>
                            </goals>
                        </execution>
                    </executions>
                    <configuration>
                        <repository>${project.name}</repository>
                        <tag>${project.version}</tag>
                        <buildArgs>
                            <JAR_FILE>${project.build.finalName}.jar</JAR_FILE>
                        </buildArgs>
                        <dockerfile>./Dockerfile</dockerfile>
                    </configuration>
                </plugin>
            </plugins>
    
  1. 編寫docker file

    FROM openjdk:8-jre-slim
    MAINTAINER xuxueli
    
    ENV PARAMS=""
    
    ENV TZ=PRC
    RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
    
    COPY target/xxl-job-executor-0.0.1-SNAPSHOT.jar /app.jar
    
    ENTRYPOINT ["sh","-c","java -jar $JAVA_OPTS /app.jar $PARAMS"]
    
    

    只需要改變下target(打包完之后的包名)

  2. 新建Jenkins應(yīng)用项乒,并配置好git信息服赎。倉庫地址和驗證信息和分支等

image-20210312095650376.png
  1. 加入maven構(gòu)建

[圖片上傳中...(image-20210312095914050.png-98c522-1615859185694-0)]

image-20210312095759829.png
  1. 設(shè)置maven的setting文件【非必須】

    因為默認(rèn)的setting下載會很慢葵蒂,所以需要更改setting文件

    a. 進(jìn)入manage jenkins----> manage files

image-20210312095914050.png
b. 新增config
image-20210312095929282.png
c. 選擇mave setting.xml,并提交
image-20210312100335611.png
    d. settting 復(fù)制進(jìn)去
image-20210312100501205.png
  1. 選擇剛剛設(shè)置好的maven setting.xml,打開maven的高級設(shè)置

    maven 目標(biāo):clean -U -Dmaven.skip.test=true package

    image-20210312101451622.png
  1. 添加腳本:

    docker stop xxl-job-executor
    docker start xxl-job-executor
    
  1. 測試腳本重虑,直接build践付,一步一個腳印,一行一行腳本調(diào)試

問題記錄:

  1. docker運行提示:

    Exception in thread "main" java.lang.NoClassDefFoundError: org/springframework/boot/SpringApplication

    原因:包沒有引入

    解決方案:精簡maven插件:

  2. no main manifest attribute

    原因:

    1. plugins 中是按順序執(zhí)行的缺厉,順序反了必然會出現(xiàn)問題永高。

    2. springboot結(jié)構(gòu)不完整。需要有完整的父依賴(https://stackoverflow.com/questions/54867295/springboot-no-main-manifest-attribute-maven

    3. maven執(zhí)行springboot的repackge目標(biāo):mvn package spring-boot:repackage

    4. 或者maven添加插件:

      <plugin>
              <groupId>org.springframework.boot</groupId>
              <artifactId>spring-boot-maven-plugin</artifactId>
              <configuration>
                  <mainClass>com.places.Main</mainClass>
              </configuration>
      
              <executions>
                  <execution>
                      <goals>
                          <goal>repackage</goal>
                      </goals>
                  </execution>
             </executions>
      
      </plugin>
      
    5. springboot 打包運行成功要素

      3 things:
      - You have the parent entry in your pom.
      - Verify that your plugin is in the build portion of the pom.
      - You have a class with the @SpringBootApplicaion annotation.
      
      pom.xml:
      
      ...  
        <parent>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-parent</artifactId>
          <version>2.1.8.RELEASE</version>
        </parent>
      
         <build>
          <plugins>
            <plugin>
              <groupId>org.springframework.boot</groupId>
              <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
          </plugins>
        </build>
      ...
      And a class that looks something like this:
      
      @SpringBootApplication
      public class Application {
      
          public static void main(String[] args) {
              SpringApplication.run(Application.class, args);
          }
      
      }
      
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末提针,一起剝皮案震驚了整個濱河市命爬,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌辐脖,老刑警劉巖饲宛,帶你破解...
    沈念sama閱讀 218,640評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異嗜价,居然都是意外死亡艇抠,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,254評論 3 395
  • 文/潘曉璐 我一進(jìn)店門久锥,熙熙樓的掌柜王于貴愁眉苦臉地迎上來家淤,“玉大人,你說我怎么就攤上這事瑟由⌒踔兀” “怎么了?”我有些...
    開封第一講書人閱讀 165,011評論 0 355
  • 文/不壞的土叔 我叫張陵歹苦,是天一觀的道長青伤。 經(jīng)常有香客問我,道長暂氯,這世上最難降的妖魔是什么潮模? 我笑而不...
    開封第一講書人閱讀 58,755評論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮痴施,結(jié)果婚禮上擎厢,老公的妹妹穿的比我還像新娘究流。我一直安慰自己,他們只是感情好动遭,可當(dāng)我...
    茶點故事閱讀 67,774評論 6 392
  • 文/花漫 我一把揭開白布芬探。 她就那樣靜靜地躺著,像睡著了一般厘惦。 火紅的嫁衣襯著肌膚如雪偷仿。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,610評論 1 305
  • 那天宵蕉,我揣著相機(jī)與錄音酝静,去河邊找鬼。 笑死羡玛,一個胖子當(dāng)著我的面吹牛别智,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播稼稿,決...
    沈念sama閱讀 40,352評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼薄榛,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了让歼?” 一聲冷哼從身側(cè)響起敞恋,我...
    開封第一講書人閱讀 39,257評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎谋右,沒想到半個月后硬猫,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,717評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡倚评,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,894評論 3 336
  • 正文 我和宋清朗相戀三年浦徊,在試婚紗的時候發(fā)現(xiàn)自己被綠了馏予。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片天梧。...
    茶點故事閱讀 40,021評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖霞丧,靈堂內(nèi)的尸體忽然破棺而出呢岗,到底是詐尸還是另有隱情,我是刑警寧澤蛹尝,帶...
    沈念sama閱讀 35,735評論 5 346
  • 正文 年R本政府宣布后豫,位于F島的核電站,受9級特大地震影響突那,放射性物質(zhì)發(fā)生泄漏挫酿。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,354評論 3 330
  • 文/蒙蒙 一愕难、第九天 我趴在偏房一處隱蔽的房頂上張望早龟。 院中可真熱鬧惫霸,春花似錦、人聲如沸葱弟。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,936評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽芝加。三九已至硅卢,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間藏杖,已是汗流浹背将塑。 一陣腳步聲響...
    開封第一講書人閱讀 33,054評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留蝌麸,地道東北人抬旺。 一個月前我還...
    沈念sama閱讀 48,224評論 3 371
  • 正文 我出身青樓,卻偏偏與公主長得像祥楣,于是被迫代替她去往敵國和親开财。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,974評論 2 355

推薦閱讀更多精彩內(nèi)容