Docker Jenkins build java webapp and deploy on WildFly

大部分的內容可參考這篇,重複的就不贅述拉!
上面這篇已經涵蓋
  • 專案git之bitbucket設定 (已有java web專案)
  • jenkins專案與套件安裝基本步驟
  1. WildFly與 Jenkins Container檔案共用 (wildfly-dist)
    docker-compose.yml
    僅列出部分與自此設定有關的檔案,也留下angular的方便對照,概念很類似
      jboss-backend:
        image: jboss/wildfly:ytTest
        container_name: 'jboss_Backend'
        env_file: .env
        ports:
          - 8080:8080
        volumes:
          - web-dist-volume:/opt/jboss/wildfly/angular-dist
          - wildfly-dist-volume:/opt/jboss/wildfly/standalone/deployments/
    
      jenkins:
        image: jenkins/jenkins:ytTest
        container_name: 'jenkins'
        env_file: .env
        ports:
          - "18080:8080"
          - "50000:50000"
        volumes:
          - web-dist-volume:/angular-dist
          - wildfly-dist-volume:/wildfly-war
    
    volumes:
      web-dist-volume:
      wildfly-dist-volume:
    
    jenkins 的 Dockerfile 需加上下列這三行
    RUN mkdir /wildfly-war
    RUN chown -R jenkins:0 /wildfly-war \
        && chmod -R g+rw /wildfly-war
    
接著到jenkins的操作介面
  1. 選擇需要的 maven 版本
  2. 專案設定 (原始碼可以找已有的java web app)
  3. 建置並執行
    用maven build的java web app project, 下 mvn install之後目錄會如下

    裡頭的 vas.war 即是我們要部署的war檔
    由於已經完成容器共用的緣故
    我們這裡放到 Jenkins容器的 /wildfly-war
    等同放到 WildFly 容器的 /opt/jboss/wildfly/standalone/deployments/
    只要程式碼沒問題,就可以看到 WildFly容器會有以下訊息,也確認無錯誤訊息
    接著到 http://localhost:8080/vas/ 底下就會看到結果拉!

留言