zoukankan      html  css  js  c++  java
  • 记录.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了

  • 相关阅读:
    01.Markdown学习
    微信小程序开发基础
    如何在本地搭建微信小程序服务器
    Golang | 报错
    Golang | 扩展
    Golang | 基础
    Golang | 基础
    Golang | 基础
    Chrome——书签同步码云
    Rustlings_structs
  • 原文地址:https://www.cnblogs.com/FateHuli/p/10495579.html
Copyright © 2011-2022 走看看