[TOCM] 安裝git和部署公開金鑰 安裝 sudo yum install git Linux建立SSH密鑰
ssh-keygen -t rsa -C “xxxxx@xxxxx.com” #使用郵箱建立 查看公開金鑰cat ~/.ssh/id_rsa.pub 執行以下命令,會把公開金鑰添加到git@osc上
ssh -T git@git.oschina.net
但是有可能會出現 Permission denied (publickey). 情況(暫時不知道是為什麼),就只能手動把公開金鑰添加到git@osc上面了 同步github到本地
複製項目到本地git clone git://github.com:xxxx/test.git ##以gitreadonly方式複製到本地,只可以讀git clone git@github.com:xxx/test.git ##以SSH方式複製到本地,可以讀寫,會按照項目名預設初始化倉庫git clone https://github.com/xxx/test.git ##以https方式複製到本地,可以讀寫git fetch git@github.com:xxx/xxx.git ##擷取到本地但不合并git pull git@github.com:xxx/xxx.git ##擷取併合並內容到本地,這裡要進入到項目裡面去執行比如我要同步master分支到本地git pull git@git.oschina.net:youname/xx.git master master
安裝gradle 安裝JDK,並配置JAVA_HOME環境變數。因為Gradle是用Groovy編寫的,而Groovy基於JAVA。另外,Java版本要不小於1.5. 下載。地址是:http://www.gradle.org/downloads。在這裡下載你要的版本。 解壓。如果你下載的是gradle-xx-all.zip的完整包,它會有以下內容:
二進位檔案 使用者手冊(包括PDF和HTML兩種版本) DSL參考指南 API手冊(包括Javadoc和Groovydoc) 範例 原始碼,僅供參考使用。
4,配置環境變數。配置GRADLE_HOME到你的gradle根目錄當中,然後把%GRADLE_HOME%/bin(linux或mac的是$GRADLE_HOME/bin)加到PATH的環境變數。
vim /etc/profile #在檔案最後添加 export JAVA_HOME=/home/hadoop/app/jdk1.7.0_65 export GRADLE_HOME=/home/hadoop/app/gradle export PATH=$PATH:$JAVA_HOME/bin:$GRADLE_HOME/bin ------------------- #重新整理配置 source /etc/profile
配置完成之後,運行gradle -v,檢查一下是否安裝無誤。如果安裝正確,它會列印出Gradle的版本資訊,包括它的構建資訊,Groovy, Ant, Ivy, 當前JVM和當前系統的版本資訊。 使用gradle編譯項目
# 先構建整個項目,需要下載lib依賴等gradle build -x test# 在打war包,編譯好的項目預設在 web模組下的build/libs 下面gradle war -x test
有能力的還能編寫gradle指令碼自動打包然後複製刪除檔案 編寫linux指令碼 自動打包發布
echo -e "mrcode自動化部署指令碼"PROJECT_NAME="you-0.1-SNAPSHOT" #名稱 預設用該名稱作為發布項目的上級目錄DIR_RELEASE_WEBAPPS=/xxxxx/release/webapps # 項目發布目錄DIR_RELEASE_BACKUP_PROJECT=/xxxxx/release/backup/$PROJECT_NAME #項目備份DIR_RELEASE_TEMP_PROJECT=/xxxxx/release/temp/$PROJECT_NAME #發布前對項目做的臨時操作目錄DIR_GIT_PROJECT=/xxxxx/git/gitosc/you #項目源碼所在目錄FILE_GIT_PROJECT_WAR=/xxxxx/git/gitosc/xxx/you/build/libs/$PROJECT_NAME.war # 編譯之後war包所在的路徑DIR_TOMCAT=/xxxxx/apache-tomcat-7.0.65 #tomcat根目錄echo "============ 處理給定工作目錄是否存在,不存在則建立"if [ -d "$DIR_RELEASE_WEBAPPS" ]; then echo $DIR_RELEASE_WEBAPPS "目錄存已在" else mkdir -p $DIR_RELEASE_WEBAPPSfiif [ -d "$DIR_RELEASE_BACKUP_PROJECT" ]; then echo $DIR_RELEASE_BACKUP_PROJECT "目錄存已在" else mkdir -p $DIR_RELEASE_BACKUP_PROJECTfiif [ -d "$DIR_RELEASE_TEMP_PROJECT" ]; then echo $DIR_RELEASE_TEMP_PROJECT "目錄存已在" else mkdir -p $DIR_RELEASE_TEMP_PROJECTfiecho "============ pull 同步更新項目"cd $DIR_GIT_PROJECTgit pull git@git.oschina.net:youname/you.git master mastergradle war -x testecho "============ 準備專案檔" cp -u $FILE_GIT_PROJECT_WAR $DIR_RELEASE_TEMP_PROJECTcd $DIR_RELEASE_TEMP_PROJECTjar -xvf $PROJECT_NAME.war # 1.war包解壓rm -rf $PROJECT_NAME.warwhile [ 0 ]; do echo -e "============ 是否需要停止tomcat服務。並將執行以下幾個步驟:" echo -e " 1.停止本機所有的tomcat服務 " echo -e " 2.將舊的項目目錄備份 " echo -e " 3.copy專案檔到發布目錄" echo -e " 4.啟動tomcat服務" read -p "請決策是否自動化以上步驟(y/n):" isAutoSv if [ "$isAutoSv" = "n" ]; then exit 0 elif [ "$isAutoSv" = "y" ]; then break fidoneecho -e "====== 1. 停止tomcat服務..."$DIR_TOMCAT/bin/shutdown.shps -ef | grep root | grep tomcat | grep -v grep | cut -c 9-15 | xargs kill -s 9echo -e "====== 2. 備份舊的版本目錄..."mv $DIR_RELEASE_WEBAPPS/$PROJECT_NAME $DIR_RELEASE_BACKUP_PROJECT/$(date +%Y%m%d%H%M)echo -e "====== 3. copy專案檔到發布目錄..."mv $DIR_RELEASE_TEMP_PROJECT $DIR_RELEASE_WEBAPPSecho -e "====== 4. 啟動tomcat服務"$DIR_TOMCAT/bin/startup.sh