日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

CentOS7 2.新项目上线脚本

發布時間:2023/12/10 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CentOS7 2.新项目上线脚本 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我司一個客戶項目對應代碼倉庫的一個分支,每次新項目上線總是要從master復制一個分支,接著git clone到本地,在IDEA里面替換配置文件內容,上傳到代碼倉庫,啟動項目,配置nginx.conf,每次新項目上線耗時約30-60min。鑒于本人超級懶,不喜歡重復動作,只喜歡摸魚,于是琢磨出了一套新項目上線腳本,每次腳本執行耗時約5-10min。

new_project_install.sh

echo "新建文件夾/opt/app/code" mkdir -p /opt/app/codeecho "進入/opt/app/code" cd /opt/app/code#將git用戶名、密碼、倉庫地址替換成自己的 echo "git拉取代碼" git clone https://username:password@gitee.com/xxx/xxx.gitecho "進入項目文件夾" cd xxx#必須是不存在的分支 echo "切換到新的分支" git checkout -b $1echo "推送新的分支代碼到遠端倉庫" git push origin $1echo "拉取遠端倉庫新的分支代碼" git pull origin $1echo "將遠端倉庫分支與本地倉庫分支關聯" git branch --set-upstream-to=origin/$1echo "再次拉取遠端倉庫新的分支代碼,驗證分支是否關聯上" git pull origin $1echo "pom.xml 替換" find -name "pom.xml" | xargs perl -pi -e "s|demo|$1|g"echo "application.yml 替換" find /opt/app/code/xxx/src/main/resources/ -name "application.yml" | xargs perl -pi -e "s|8081|$3|g"# find 路徑 -name "文件名" | xargs perl -pi -e "s|被替換的字符串|替換后的字符串|g" # ./ 相對位置 echo "application-druid.yml 替換" find /opt/app/code/xxx/src/main/resources/ -name "application-druid.yml" | xargs perl -pi -e "s|localhost|$2|g" find /opt/app/code/xxx/src/main/resources/ -name "application-druid.yml" | xargs perl -pi -e "s|demo|$1|g"echo "maven打包" mvn clean install#cp前添加反斜線,可以直接覆蓋同名文件,不會出現"cp: overwrite `xxx` ?"提示 echo "復制jar" \cp /opt/app/code/xxx/target/$1.jar /opt/appecho "啟動jar" nohup java -jar /opt/app/$1.jar >/dev/null 2>&1 &echo "將所有項目文件放入緩存中" git add .#將git電子郵箱、用戶名替換成自己的 echo "提交代碼到本地倉庫" git config user.email "xxx@qq.com" git config user.name "username" git commit -m "打包$4"echo "拉取遠端倉庫代碼" git pull origin $1echo "推送代碼到遠程倉庫" git push origin $1echo "刪除clone的代碼" rm -rf /opt/app/code/xxx#xxx.cn 替換成自己的域名 #$指最后一行,i是指在讀取文件此行前增加(include)記錄,即倒數第二行添加內容 echo "添加nginx配置" sed -i '$i server {' /usr/local/nginx/conf/nginx.conf sed -i '$i listen 80;' /usr/local/nginx/conf/nginx.conf sed -i '$i server_name '$1'.xxx.cn;' /usr/local/nginx/conf/nginx.conf sed -i '$i location / {' /usr/local/nginx/conf/nginx.conf sed -i '$i proxy_pass http://127.0.0.1:'$3'/;' /usr/local/nginx/conf/nginx.conf sed -i '$i proxy_connect_timeout 600;' /usr/local/nginx/conf/nginx.conf sed -i '$i proxy_read_timeout 600;' /usr/local/nginx/conf/nginx.conf sed -i '$i }' /usr/local/nginx/conf/nginx.conf

給腳本賦予執行權限

chmod +x new_project_install.sh

$1-分支名、數據庫名(如test)
$2-ip(如192.168.0.2)
$3-port(如某客戶)
$4-git commit信息(如某客戶)

./new_project_install.sh test 192.168.0.2 8088 某客戶

查看 /usr/local/nginx/conf/nginx.conf 配置是否正常

/usr/local/nginx/sbin/nginx -s reload

原來苦逼的上線項目,變成兩行腳本,小伙伴有沒有覺得偷懶的感覺很爽。如有任何問題,歡迎留言,讓我們一起愉快的摸魚吧!

總結

以上是生活随笔為你收集整理的CentOS7 2.新项目上线脚本的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。