1. 程式人生 > >Shell 自動拉取 git 分支,mvn 打包,部署遠端除錯的指令碼

Shell 自動拉取 git 分支,mvn 打包,部署遠端除錯的指令碼

#!/bin/bash

chose_branch=$1

server_list=("axxxx" "axxxxxxxx")
srcDir='/usr/xxxxxx/xxxxxx/'


function add_ssh_key()
{
    cd ~/.ssh/
    ssh-agent bash
    ssh-add id_rsa_xxxxxx
}


function change_config()
{
    sed -i "s/xxx=.*/xxx=$XXX/g" $xxxx_conf
}


function clone_gitcode()
{
    if [[ "$chose_branch"
= "master" ]]; then git_pull_master; elif [[ "$chose_branch" = "dev" ]]; then git_pull_dev; else git_pull_master; fi } # git 拉取 master 分支 function git_pull_master() { cd /usr/xxxxx rm -rf xxx git clone [email protected]:xxxx/xxxx.git cd xxxx git checkout master } function mvn_server
() { for dir in ${server_list[@]} do dirFile=$srcDir$dir; if [ -d $dirFile ]&&[[ $dir != script* ]]&&[[ $dir != data* ]]; then cd $dirFile; mvn clean install; fi done; } function stopall() { for
server in ${server_list[@]} do pid=`ps -ef|grep $server|grep -v "grep"|awk '{print $2}'` kill -9 $pid npid=`ps -ef|grep $server|grep -v "grep"|awk '{print $2}'` if [ "$npid" == "" ]; then echo -e "pid of $1 is killed SUCCESSFULLY!!!" else echo -e "pid of $1 is NOT killed !!!" fi done } i=10000 function startall() { for serv in ${server_list[@]} do cd $srcDir$serv/target; nohup java -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=$i,server=y,suspend=n -jar $serv.jar & i=$(($i+1)) npid=`ps -ef|grep $serv|grep -v "grep"|awk '{print $2}'` if [ "$npid" != "" ]; then echo -e "pid of $serv is started SUCCESSFULLY!!!" else echo -e "pid of $serv is NOT started !!!" fi done } echo -e "-------新增 SSH-Key-------" # add_ssh_key; echo -e "-------更新程式碼-------" clone_gitcode; echo -e "--------changing config --------" change_config; echo -e "-------編譯中:-----------" mvn_server; echo -e "------- restarting server -------" stopall; startall;

相關推薦

Shell 自動 git 分支mvn 打包部署遠端除錯指令碼

#!/bin/bash chose_branch=$1 server_list=("axxxx" "axxxxxxxx") srcDir='/usr/xxxxxx/xxxxxx/' functi

git之窗】(十七)線上問題如何緊急分支

一、前提       通常使用git,都會在上線前把程式碼合併到master分支,在master上打好tag,由上線tag、回退tag確保上線正常。       例如:       上線tag: V

git 某個分支到本地

比如我想拉取dev到本地來 通常情況下,我會先直接嘗試:git clone https://github.com/XXXX/nothing2/tree/dev.git 會報這種錯誤:fatal: repository 'https://github.com/XXXX/

git遠端倉庫中指定分支

若本地分支不存在的情況: git checkout -b 本地分支名稱 origin/遠端分支名稱 使用該方式會在本地新建分x,並自動切換到該本地分支. git fetch origi

git合併遠端分支與本地修改的分支

可以先用git stash暫存本地修改的部分,然後使用git pull拉取遠端分支,隨後使用git stash pop彈出本地修改部分,此時git會自動合併。 如果出現CONFLICT (content): Merge conflict in XX可以使用git merge

mac使用終端git上的工程

首先在終端開啟你想要放工程的地方,比如說桌面,cd Desktop/ 回車後輸入指令:Desktop wy$ git clone https://git.coding.net/mindasset/li

git 指定分支 pull 本地不存在的分支

預設,git專案只有一個分支,就是master,我們當然可以在本地建立多個分支,並推送到遠端git管理平臺上,或者將遠端git管理平臺上的其他分支拉取到自己電腦上。 一、檢視本地已有的分支 進入到專案根目錄,開啟命令列/終端,輸入指令,將會顯示該專案的本地的全部分支,其中

jenkins git 代碼成功版本

版本 png article 技術分享 http 所在 com 在服務器 公鑰 1、首先把git上用戶rlp ,郵箱[email protected]生成公鑰,(jenkins所在服務器上執行)復制到git的setting中見。。。。 2、寫git代碼的地址: 3、配置 註

自開發自動群微信雲控系統一鍵全自動

target parse mes 是否 中文 number master 數字 ttr 微信自動拉群雲控系統源碼,全自動一鍵拉群。自動統計新加的好友,自動將所有新加好友一鍵拉群。服務器端下發群二維碼,手機端一鍵拉群。全自動大批量,同時拉群。 在系統的開發實現過程中,除了服

自開發自動群微信雲控系統可實現全自動一鍵

tco key return cati 劃線 除了 com off shm 微信自動拉群雲控系統源碼,全自動一鍵拉群。自動統計新加的好友,自動將所有新加好友一鍵拉群。服務器端下發群二維碼,手機端一鍵拉群。全自動大批量,同時拉群。 在系統的開發實現過程中,除了服務器端推送指

Jenkins - SSH認證方式Git代碼

appium cimage fop rsa 2nf ica continue d+ same 1、本地生成密鑰 [root@root ~] ssh-keygen -t rsa Generating public/private rsa key pair. Enter fil

Git程式碼到本地

(1) 直接下載git上的原始碼壓縮包(.zip壓縮包/.rar壓縮包):找到準備下載的專案檔案,下載到本地,解壓縮,使用phpstorm開啟; (2) 本地配置git環境,直接使用git命令拷貝到本地,然後使用phpstorm開啟——git命令:cd/儲存路

SSH認證方式Git程式碼

1、本地生成金鑰 [[email protected] ~] ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): Ent

Windows下Jenkins自動編譯SVN專案併發布Tomcat和Jboss

本文主要記錄一些重要的配置,忽略Jenkins的安裝。配置主要分為三個重要部分: 1、外掛配置            主要涉及3個外掛的安裝。          Deploy to container Plugin:This plugin takes a war/ear

linux下實現svn自動程式碼併發布

正常在釋出專案的時候是將專案打包成war包,並將程式碼上傳到伺服器中,執行伺服器,整個過程較為複雜,在測試過程中會涉及到多次程式碼的修改,重新打包釋出,這樣就很不友好,接下來就簡單介紹一種方法,只要執行一個shell指令碼檔案就能把整個過程全部搞定。 第一步:安裝svn

利用 Webhooks 實現程式碼的自動

很長時間沒有更新部落格了,前段時間一直都在忙著找工作,最近才穩定下來,後面有機會的話再說說找工作的經歷。 以前做完一個專案,要放到伺服器上執行,最開始使用 Xftp 將程式碼傳上去,中間如果需要修改程式碼,都是在本地除錯完再傳到伺服器,覆蓋原來的檔案生效,非常

git 分支合併到主幹分支所有提交匯總合並

    git在一個分支上開發一段時間後,會留下很多次的commit, 當一個功能階段性的完成後,需要將該分支merge到主幹,如果直接使用 git merge branch 會將該分支下所有的提交都merge到主幹,有時這並不是我們所需要的,我們只需要總結一下該分支,然後以

kubernetes實戰篇之建立金鑰自動私服映象

系列目錄 前面我們講解了如何搭建nexus伺服器,以及如何使用nexus搭建docker私有映象倉庫,示例中我們都是手動docker login登陸私服,然後通過命令拉取映象然後執行容器.然而這種做法在kubernetes叢集中是不可行的.第一,專案規模不同,每天產生的映象數量也不同,如果每天產生大量倉庫

Jenkins教程(三)新增憑據與流水線Git程式碼

前言 本文旨在配置憑據、使用Git倉庫中的Jenkinsfile與使用宣告式流水線拉取Git程式碼 使用SVN等其他版本控制工具,請參考使用Pipeline-Syntax生成對應程式碼塊 憑據(credentials)是什麼 憑據(credentials)是訪問其他系統的認證資訊,可以是賬號/密碼、SSH

xmake v2.5.2 釋出, 支援自動交叉工具鏈和依賴包整合

[xmake](https://github.com/xmake-io/xmake) 是一個基於 Lua 的輕量級跨平臺構建工具,使用 xmake.lua 維護專案構建,相比 makefile/CMakeLists.txt,配置語法更加簡潔直觀,對新手非常友好,短時間內就能快速入門,能夠讓使用者把更多的精力集