1. 程式人生 > >jenkins與git結合,自動部署

jenkins與git結合,自動部署

一、jenkins是一個持續整合和持續部署的一個工具:

二、原理如下圖所示:

jenkin是一個從git拉程式碼,並且自動build,拷貝到指定的伺服器上,並且部署。的一款工具

下面是jenkin建立一個新專案的流程圖解



如果要是jenkins從遠端拉程式碼,需要配置ssh key

先在你的本地電腦安裝git ,執行git hash

ssh-keygen -t rsa -C "your_account"


可以是你的郵箱,執行完之後,會生成一個公鑰和私鑰


私鑰複製到jenkins


公鑰放在你需要git上


然後儲存下就可以了。ssh-key就配置好了,這樣jenkins就會自動去git上拉程式碼了

指令碼命令:


task:--refresh-dependencies clean build -Penv=dev -x test

#cd /home/app/.jenkins/jobs/customer_service135.97/workspace


#sh ~/gradle-2.14.1/bin/gradle clean build -Penv=dev -x test


TARGET_SERVER1="172.16.134.65"
REMOTE_PATH=/home/app/sxpservice
REMOTE_APP_PATH=/home/app/sxpservice/app


WAR_PATH=.
PROJECT_NAME=merch-front-service
#####
for ip in $TARGET_SERVER1
do
      PID=$(ssh [email protected]

$ip "ps auxw | grep $PROJECT_NAME|grep app | grep -v grep | awk '{print \$2}'") 
      if [ "$PID" != '' ]
        then
        echo $PID    
          ssh [email protected]${ip} "kill -9 $PID"
          #ssh [email protected]${ip}  sh ${REMOTE_PATH}/stop.sh#
      fi  
      
      ssh [email protected]
${ip} "rm -rf ${REMOTE_APP_PATH}/*"
      scp ./${PROJECT_NAME}/build/libs/* [email protected]${ip}:${REMOTE_APP_PATH}/
      ssh [email protected]${ip} "export LC_ALL=en_US.UTF-8 && locale && source /home/app/.bash_profile && cd ${REMOTE_PATH}/bin && sh start.sh"
done

相關推薦

jenkinsgit結合自動部署

一、jenkins是一個持續整合和持續部署的一個工具:二、原理如下圖所示:jenkin是一個從git拉程式碼,並且自動build,拷貝到指定的伺服器上,並且部署。的一款工具下面是jenkin建立一個新專案的流程圖解如果要是jenkins從遠端拉程式碼,需要配置ssh key先

jenkins maven git windows code 自動部署

                      本人剛剛接觸  寫的不好就對付看看吧 哈哈哈O(∩_∩)O哈哈~       最近看見

部署Jenkins實現Git提交後自動構建的踩坑記錄

1、建立工程後項目的"原始碼管理"->"Git"->"Repositories"配置中,Repository URL的地址填寫需要注意:如果你的URL是http協議的地址,直接填入就好;如果你的URL是ssh協議的地址,則需要把"ssh://"去掉之後再填入。例如:完整地址為ssh:

LAMP架構(apachephp結合apache默認虛擬主機)

apache與php的結合 apache默認虛擬主機 一、apache與php結合主配置文件/usr/local/apache2.4/conf/httpd.conf[root@localhost ~]# /usr/local/apache2.4/bin/apachectl graceful (重新加

apachePHP結合apache默認虛擬機

apache與Php 結合 php的默認虛擬主機 php虛擬主機 修改vim /usr/local/apache2.4/conf/httpd.conf 取消ServerName前的#,讓本行生效 添加80端口訪問規則iptables -I INPUT -p tcp --dport 80 -j A

樹形ztree angularjs結合實現下級數據異步加載點擊復選框 填寫到輸入框裏

沒有 hide deb out IV UNC -s parent default html:<input value="" type="text" id="river_cut" onclick="

gitlab+jenkins+tomcat實現代碼自動部署

要求 再次 返回 完成 conf 主機ip eight word-wrap class 一 搭建docker-gitlab-ce(優先部署docker,前面有docker部署文檔)環境準備:1 物理內存要大於3GB 2 Linux Centos7系統 3 需要能夠訪問外網

(簡)樹形ztree angularjs結合實現下級數據點擊復選框 填寫到輸入框裏

url let 輸入 樹形 fadeout ros mar 分隔符 3.4 html:<link href="vendors/zTreeStyle/zTreeStyle.css" rel="stylesheet" />生態

#define#if結合用於程式碼註釋

  “#if 0 ... #endif”由前處理器進行處理,可以“遮蔽”一段程式碼,結合#define,可用於程式碼塊簡單描述與註釋   #define  T_DESC(x, n)  n;   #if  T_DESC("程式碼註釋演示", 0)   ......   co

純前端表格控制元件SpreadJSJava結合實現模板上傳和下載等功能

安裝部署: 開發環境: 後臺伺服器端採用 Java 、SpringMVC。 資料儲存到 \demo_web\WEB-INF\FileDatabase.txt 檔案中,不需要依賴DB。 採用 Eclipse Java EE IDE for Web Develope

Android 版本控制工具SVNGIT 區別 Git使用詳情

為什麼要用版本控制工具? 多人協作開發 方便程式碼統一管理 常用的版本控制工具有哪些? CVS, SVN, GIT GIT 和 SVN 的區別 Git 是目前世界上最先進的分散式版本控制系統 SVN 是集中式的管理工具 1.版本庫是集中放在中央伺服器的,而幹活的時

Android Studio運用MVP泛型登入記住密碼自動登入

一:獲取佈局控制元件 許可權 二:記住密碼與自動登入 mMobile.setText(sp.getString("mMobile","")); mPassword.setText(sp.getString("mPassword","")); 三:登入 1.建立Log

紅包牆系統線上結合線下商場商鋪推廣新方式

微信紅包牆系統(紅包牆、微客來、碼上拓客、拓客來等統稱紅包牆系統)火熱招商、轉讓軟體技術,讓您的手機、電腦變成印鈔機! 隨著微信和二維碼的普及,掃碼送紅包已經被很多企業應用在市場上。創新就是一種改革,資訊時代,市場經濟瞬息萬變,唯有快速適應並有好的營銷方案,才能

Djangoscrapy結合sqlite3.connect() windows資料庫路徑問題

方法一: 絕對路徑 self.conn = sqlite3.connect('G:\python工程\mysite\db.sqlite3') 這是最懶省事的方法 方法二: 相對路徑 這種不行(linux下的方式): self.conn = sqlite3.connect(

jenkins+docker+nodejs專案的自動部署環境(案例)

介紹 jenkins+docker+nodejs 自動部署 亮點 採用shell自定義指令碼,控制整合部署環境更加方便靈活如果伺服器更換,重新部署的工作量會比較小涉及的docker命令,會有講

使用Intellij IDEA 開發 Spring-boot專案 熱部署自動部署

使用Intellij IDEA 開發 Spring-boot專案,即使專案使用了spring-boot-devtools,修改了類或者html、js等,idea還是不會自動重啟,非要手動去make一下或者重啟,就更沒有使用熱部署一樣。 網上關於spring-b

fastJsonspringmvc結合在spring-mvc.xml中的配置,解決415報錯

<!-- 會自動註冊了validator ConversionService --> <mvc:annotation-driven> <!--enableMatrixVariables="true">-->

jenkins+tomcat+ant+java+linux 自動部署專案

最終效果: 每1小時自動查下svn,如果svn有提交,則自動更新部署。 具體環節包括:更新程式碼、編譯程式碼、打包程式碼、拷貝程式碼、備份舊war、刪除快取、停啟tomcat。使用環境: java+tomcat+ant+jenkins+linux 1、準備jdk 由於

基於jenkins+docker+git的專案自動化部署

終於完工了,終於徹底的成功了,終於有一點點成效了,乘著還有點時間,記錄一下,免得忘記。 一:環境 1、安裝有docker的linux伺服器(ip地址:17x.17.85.x)(如何安裝?:Docker入門級操作:docker安裝及下載映象)、安裝jenkins的伺服器(i

linux+jenkins+svn環境搭建以及自動部署django項目構建配置

jenkins 源碼 部署 分享圖片 col tps centos 指定 alt 註意點: 系統環境:centos7,python,django,svn,jenkins首先安裝好svn版本控制服務,svn安裝和配置,也可以通過yum進行安裝,安裝方式如下yum -y ins