從0開始搭建自動部署環境(續)

来源:http://www.cnblogs.com/rainmer/archive/2017/11/27/7902476.html
-Advertisement-
Play Games

從0開始搭建自動部署環境(續) 前言 上一篇 "從0開始搭建自動部署環境" 雖然環境搭建起來了,但是配置少了一部分步驟。本來應該寫到上一篇中,但是這樣做篇幅過長了。另外,此篇會使用自動部署一個同步在Github上的Spring Boot項目為例,介紹如何使用該自動部署環境。 配置Global Too ...


從0開始搭建自動部署環境(續)

前言

上一篇從0開始搭建自動部署環境雖然環境搭建起來了,但是配置少了一部分步驟。本來應該寫到上一篇中,但是這樣做篇幅過長了。另外,此篇會使用自動部署一個同步在Github上的Spring Boot項目為例,介紹如何使用該自動部署環境。

配置Global Tool Configuration

繼上一篇,登錄jenkins,完成上一篇沒有完成的後續配置。Jenkins——》系統管理——》Global Tool Configuration,在其中配置JDK、git、Maven。

Tool Configuration
JDK 別名=openjdk1.8.0
JAVA_HOME=/usr/lib/jvm/java
git Name=git
Path to Git executable=/usr/bin/git
Maven Name=maven3.5.2
MAVEN_HOME=/opt/apache-maven-3.5.2

安裝插件並重啟

  • Maven Integration plugin (Maven集成,否則新建的時候沒有Maven Project)
  • Deploy to container Plugin (部署到Java容器中的插件)
  • Publish Over SSH (遠程Shell)
  • Monitoring (監控Jenkins所消耗的系統資源,如記憶體使用等)

插件安裝完成後需要重啟jenkins。http://ip:8080/restart就能重啟jenkins。

創建Docker本地倉庫

參考Docker Registry 2.0

docker run -d -p 5000:5000 --restart always --name registry registry:2

新建項目

hello項目是我寫的一個用來測試環境的Spring Boot項目,代碼托管在github上。我想實現的是:jenkins每隔15分鐘自動檢查github上的hello項目源碼,如果項目有更新,就自動獲取更新打包部署。

新建——》構建一個Maven項目。名稱就叫hello,點擊“OK”跳轉到項目配置頁面。具體配置如下:

  • 源碼管理——》Git,Repository URL值為https://github.com/jeesun/hello
  • 構建觸發器——》Poll SCM——》日程表,值為H/15 * * * *(設置每隔15分鐘做一次檢查)
  • Build——》Goals and options,值為clean package docker:build
  • Post Steps——》Add post-build step——》Execute shell,內容為
    ```
    API_NAME="hello"
    API_VERSION="0.0.1"
    API_PORT=8761
    IMAGE_NAME="127.0.0.1:5000/com.jeesun/\(API_NAME:\)BUILD_NUMBER"
    CONTAINER_NAME=\(API_NAME-\)API_VERSION

cd \(WORKSPACE/target cp classes/Dockerfile . docker tag 127.0.0.1:5000/com.jeesun/\)API_NAME $IMAGE_NAME
docker push $IMAGE_NAME

cid=\((docker ps | grep "\)CONTAINER_NAME" | awk '{print \(1}') if [ "\)cid" != "" ]; then
docker rm -f $cid
fi

docker run -d -p $API_PORT:8080 --name $CONTAINER_NAME $IMAGE_NAME
``配置完成後,點擊“Save”。選擇頁面左側的“立即構建”,如果順利,訪問http://ip:8761,頁面出現hello, new world`,說明成功。

註意事項

如果無法訪問http://ip:8761,需要確認防火牆是否關閉,或者選擇開放8761埠。

參考

  1. jenkins new job 沒有maven項目選項
  2. 使用Jenkins實現自動構建Maven項目
  3. Docker Registry 2.0

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 這一周,針以往剛開始學過的基礎知識,開始進行簡單的梳理複習,以求加深對相關知識點的理解與掌握。 一·創建第一個簡單的c語言 /*this is first program !*/(/*註釋符,內容輸出不顯示) #include "stdio.h"//預處理指令 int main()//主函數,必有且 ...
  • 字典中 嵌套字典 如同json 對象, data={ "msg":{ “xxx.com”:["a","b"] } } data.values();#列印所有的值,不包括key data["meg"][“xxx.com”][1]=c;#b值變成c data.setdefault(key,value); ...
  • Elasticsearch 是一個實時的分散式搜索分析引擎, 它能讓你以一個之前從未有過的速度和規模,去探索你的數據。 它被用作全文檢索、結構化搜索、分析以及這三個功能的組合。-- 權威指南Elasticsearch版本:6.0一、安裝1、從官網下載Elasticsearch:https://www... ...
  • 一、socket(單鏈接) 1、socket:應用層與TCP/IP協議族通信的中間軟體抽象層,它是一組介面。在設計模式中,Socket其實就是一個門面模式,它把複雜的TCP/IP協議族隱藏在Socket介面後面;也有人將socket說成ip+port,ip是用來標識互聯網中的一臺主機的位置,而por ...
  • 1.元組 元組和列表很相似,最大的區別就是不可以對元組進行修改,因此也可將元組稱之為不可修改的列表。 在表示上列表使用中括弧,元組使用的是小括弧。都是用逗號將元素隔開。 有一點值得註意的是,創建只有一個元素的元組時需在元素後加逗號,如tup = (2,)。所以可見元組判別元組的依據是逗號而不是小括弧 ...
  • feedparser模塊 1.簡介 feedparser是一個Python的Feed解析庫,可以處理RSS ,CDF,Atom 。使用它我們可從任何 RSS 或 Atom 訂閱源得到標題、鏈接和文章的條目了。 RSS(Really Simple Syndication,簡易信息聚合):是一種描述和同 ...
  • The GNU Compiler Collection (usually shortened to GCC) is a compiler system produced by the GNU Project supporting various programming languages. But ...
  • 1、Java常量的應用 語法:final 常量名 = 值; 舉一個簡單的例子 2、Java數組 Java中操作數組只需要四個步驟: (1)聲明數組 語法:數組類型[ ] 數組名; 或者數組類型 數組名[ ]; (2)分配空間 語法: 數組名 = new 數據類型 [ 數組長度 ]; 也可以直接合併 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...