当前位置: 移动技术网 > IT编程>开发语言>.net > 记录.NET Core在CentOS上基于Jenkins自动化发布

记录.NET Core在CentOS上基于Jenkins自动化发布

2019年03月09日  | 移动技术网IT编程  | 我要评论

非诚勿扰之新恋爱时代,史上最强闲人,兽药原料

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了

 

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网