記錄.NET Core在CentOS上基於Jenkins自動化發布


1.安裝Jenkins,我這里采用的是非docker方式安裝(兩種都行,任選一種)

參考:https://www.cnblogs.com/xiaxiaolu/p/10357806.html

https://www.cnblogs.com/stulzq/p/9291237.html

如果安裝成功出現頁面不顯示或者空白等,是權限配置不對

進入:/var/lib/jenkins/config.xml修改將這個兩個改成以下配置即可訪問。之后可直接在系統設置里面修改

<authorizationStrategy class="hudson.security.AuthorizationStrategy$Unsecured"/>

<securityRealm class="hudson.security.SecurityRealm$None"/>

2.首先創建一個項目上傳到github、gitlab或其他,

我自己的github測試地址:https://github.com/476515159/jenkinsTest.git

3.然后創建在jenkins創建,

shell腳本:

echo "獲取當前容器是否存在-----------------------------------------------------------------"
containerps=$(docker ps -f name=exam_node1 -q)
containerstop=$(docker ps -a -f name=exam_node1 -q)
for alpha in "$containerps";do
    if [ "$alpha" == "" ];then
    echo "檢查是否存在停止的容器-------------------------------------------------"
        for alpha1 in "$containerstop";do
          if [ "$alpha1" == "" ];then
          echo "不存指定容器-----------------------------------"
          else
          echo "存在停止了的 然后直接刪除-----------開始------------------"
          docker rm $alpha1
          echo "存在停止了的 然后直接刪除-----------完成------------------"
        fi
       done
    else
    echo "存在-停止運行 然后刪除----------------------開始-----------------"
    docker stop $alpha
    docker rm $alpha
     echo "存在-停止運行 然后刪除---------------------完成------------------"
    fi
done



echo "獲取當前鏡像是否存在-----------------------------------------------------------------"
dockerlist=$(docker images examimage:latest -q)
for alpha2 in "$dockerlist";do
  if [ "$alpha2" == "" ];then
     echo "不存在指定鏡像-------------------------------------------------" 
  else
       echo "存在當前指定的鏡像 刪除鏡像--------------開始-----------------------------------"
      docker rmi $alpha2
     echo "存在當前指定的鏡像 刪除鏡像--------------完成-----------------------------------"
  fi
done

echo "開始輸入工作目錄-----------------------------------------------------------------"
echo $WORKSPACE
echo "轉到項目工程目錄-----------------------------------------------------------------"
cd $WORKSPACE/test2/
echo "還原.NetCore Nuget包-----------------------開始------------------------------------------"
dotnet restore
echo "還原.NetCore Nuget包-----------------------完成------------------------------------------"
echo "重新生成------------------------------------開始-----------------------------"
dotnet build
echo "重新生成------------------------------------完成-----------------------------"
echo "項目發布-------------------------------------開始----------------------------"
dotnet publish -c Release
echo "項目發布-------------------------------------完成----------------------------"
echo "轉到項目發布目錄-----------------------------------------------------------------"
cd bin/Release/netcoreapp2.1/publish/
echo "構建Docker鏡像-------------------------------開始----------------------------------"
docker build -t examimage .
echo "構建Docker鏡像-------------------------------完成----------------------------------"
echo "運行Docker容器-------------------------------------開始----------------------------"
docker run  --name=exam_node1 -p 40002:80 -d examimage
echo "運行Docker容器------------------------------------完成-----------------------------"

4.其中路徑,鏡像名稱,端口等自定義修改就行了。

然后立即構建,完成。

5.

查看運行的容器,直接訪問就ok了

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM