天天看點

【Linux(CentOS 7 )+git+maven+springboot】安裝+實作自動化部署項目

在Linux(CentOS 7)伺服器上安裝git常用指令

删除git:

yum remove git
           

檢查git是否安裝:

git --version
           

如果沒有安裝,安裝git:

yum -y install git
           

安裝git,檢查是否安裝成功:

git --version
           
【Linux(CentOS 7 )+git+maven+springboot】安裝+實作自動化部署項目

配置git SSH:

  1. 配置git的user name和email
git config --global user.name "gogogmz" 
git config --global user.email "[email protected]"
           
  1. 生成ssh
ssh
ssh-keygen
           
【Linux(CentOS 7 )+git+maven+springboot】安裝+實作自動化部署項目
【Linux(CentOS 7 )+git+maven+springboot】安裝+實作自動化部署項目

3. 配置git 的ssh key

登入github ->settings->SSH公鑰:

【Linux(CentOS 7 )+git+maven+springboot】安裝+實作自動化部署項目
【Linux(CentOS 7 )+git+maven+springboot】安裝+實作自動化部署項目

輸入之前鍵入的儲存有公鑰的檔案夾,檢視公鑰,并複制粘貼到添加公鑰界面:

【Linux(CentOS 7 )+git+maven+springboot】安裝+實作自動化部署項目
【Linux(CentOS 7 )+git+maven+springboot】安裝+實作自動化部署項目

輸入密碼,即可添加成功。

Linux安裝Jenkins(可不用,這裡我們使用半自動化部署方式)

docker pull jenkins
           

安裝JDK

先檢查是否安裝JDK:

java -version
           

建立目錄

/usr/java

,将下載下傳好的

jdk-8u231-linux-x64.rpm

(比使用壓縮包更簡單)通過xftp軟體傳輸到目錄

/usr/java

下:

【Linux(CentOS 7 )+git+maven+springboot】安裝+實作自動化部署項目

使用編譯過的包安裝java環境:

rpm -ivh jdk-8u231-linux-x64.rpm 
           
【Linux(CentOS 7 )+git+maven+springboot】安裝+實作自動化部署項目

檢查java環境是否安裝好:

java
或
javac
           

出現以下内容,java環境安裝成功。

【Linux(CentOS 7 )+git+maven+springboot】安裝+實作自動化部署項目

安裝maven(前提:先安裝好java環境-JDK)

下載下傳maven安裝包,并将安裝包放在目錄

/home/maven

下,解壓縮壓縮包:

【Linux(CentOS 7 )+git+maven+springboot】安裝+實作自動化部署項目
unzip apache-maven-3.6.1-bin.zip
           
【Linux(CentOS 7 )+git+maven+springboot】安裝+實作自動化部署項目

配置maven環境變量,編輯檔案:

/etc/profile

vi /etc/profile
           

在檔案

/etc/profile

最下面添加以下内容:(MAVEN_HOME是剛才解壓maven的路徑)

【Linux(CentOS 7 )+git+maven+springboot】安裝+實作自動化部署項目

運作以下指令,重新整理環境變量:

source /etc/profile
           

檢查maven是否安裝好:

mvn -v
           

如果出現以下提示:可能是安裝的java環境不對(似乎安裝openjdk可能會出現這個錯誤),或者沒有安裝java環境,參考見以上步驟。

【Linux(CentOS 7 )+git+maven+springboot】安裝+實作自動化部署項目

如果安裝成功,顯示如下:

【Linux(CentOS 7 )+git+maven+springboot】安裝+實作自動化部署項目

Linux+git實作從碼雲pull項目最新代碼

有時候可能會用到

Linux檢視隐藏檔案指令:ls -al

【Linux(CentOS 7 )+git+maven+springboot】安裝+實作自動化部署項目
  1. 建立一個檔案夾

    /home/image-dataset-builder

    作為Git倉庫,并使用指令

    git init

    初始化,可以使用指令

    ls -al

    ,檢視是否生成

    .git

    檔案:
    【Linux(CentOS 7 )+git+maven+springboot】安裝+實作自動化部署項目
  2. 為了友善,我們使用ssh方式,clone最新代碼(也可以使用https方式):
git clone [email protected]:youyizuizhen/image-dataset-builder.git
           
【Linux(CentOS 7 )+git+maven+springboot】安裝+實作自動化部署項目

3. 更新最新代碼

git pull origin master
           

參考:https://blog.csdn.net/u010029439/article/details/79629286

添加連結描述

springboot 項目中寫腳本和Dockerfile,便于修改

【Linux(CentOS 7 )+git+maven+springboot】安裝+實作自動化部署項目

Dockerfile示例:

FROM  openjdk:8-jdk-alpine
MAINTAINER  gmz [email protected]
ADD  ./target/img-dataset-builder-0.0.1-SNAPSHOT.jar  /home/images_dataset/
CMD  ["java", "-Xmx200m", "-jar", "/home/images_dataset/img-dataset-builder-0.0.1-SNAPSHOT.jar","--spring.profiles.active=prod"]
EXPOSE  8080
           

devops.sh腳本示例:

#從代碼庫拉取最新代碼
#腳本前提:
#1.已經使用git clone 拉取項目到本地1
#2.預設安裝了maven環境,且已經配置了環境變量
#3.預設安裝了docker環境
#4.預設完成了Dockerfile(随包附送樣例)

#從遠端代碼庫拉取代碼,請根據實際情況,替換下面的分支{origin newBranch}
git pull origin master

#将項目帶包
mvn clean package -Dmaven.test.skip=true

#停止上個版本的容器,{devops}根據自己的容器名字替換
docker stop image_dataset_api

#去除該容器,{devops}根據自己的容器名字替換
docker rm image_dataset_api

#清除上個版本的鏡像,{mason/devops}根據自己的鏡像名替換
docker rmi img:dataset

#将項目新版本做成docker鏡像,{mason/devops}根據自己的鏡像名替換
docker build -t img:dataset .

#運作該鏡像,生成容器。也可以考慮使用建立子網,在使用内網Ip的時候請提前建立内網網段 

docker run  -d --name image_dataset_api -v /home/imageFile:/home/imageFile -v /home/image_zip:/home/image_zip -v /home/static:/home/static -p 8080:8080 -p 443:443 img:dataset

           

在伺服器中使用

git pull origin master

更新最新代碼,在項目的根目錄下,給腳本檔案devops.sh執行權限:

chmod 777 devops.sh

,然後輸入指令

./devops.sh

即可運作腳本(執行腳本中的指令,建立鏡像容器等操作,可實作腳本自動部署springboot項目)。