Jenkins自动部署Net Core过程图解

 更新时间:2020年12月04日 09:24:18   作者:人间有妖气  
这篇文章主要介绍了Jenkins自动部署Net Core过程图解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

目的:实现把Git测试分支中的代码发布到Linux测试环境

1、安装Jenkins。

首先需要找一台服务器安装Jenkins,我用的是Linux。启动后直接用IP+端口号访问就可以看到启动动的Jenkisn.

Tips:关于Jenkins的配置,为了方便我是用Linux的root用户登录的,具体配请自行更改。

 #安装java环境(Jenkins需要这个java环境)
 sudo yum install java
 java -version
 
 # 安装Git
 sudo yum install git
 git --version 
 
 #安装Jenkins
 sudo wget -O /etc/yum.repos.d/jenkins.repo http://jenkins-ci.org/redhat/jenkins.repo
 sudo rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key
 yum install jenkins
 
 #修改jenkins 的配置信息
 vi /etc/sysconfig/jenkins
 
 #修改配置
 JENKINS_USER="root"
 JENKINS_PORT:"8080"
 
 #修改目录权限
 [root@localhost sysconfig]# chown -R root:root /var/lib/jenkins
 [root@localhost sysconfig]# chown -R root:root /var/cache/jenkins
 [root@localhost sysconfig]# chown -R root:root /var/log/jenkins
 
 #启动Jenkins
 systemctl start jenkins

2、配置Jenkins

实现目的:当前的Jenkins 是安装在192.168.11.80上,需要Jenkins把Git 上拉取的代码发布到 192.168.0.138上。此时138上已经配置好了supervisorctl。也就是说Jenkisn和web服务器没在一个服务器上。

(1)Jenkins安装远程插件(Publish Over SSH) 系统管理->插件管理

(2)配置远程服务器链接(此处用的是密码用户用的rooot)系统管理->系统配置

3、新建一个Jenkins任务(或复制一个已有的任务)

(1)配置Git

构建就可以了

如你的web服务器是用Docker发布的,Jenkins的执行Shell,你可以参考一下

echo "获取当前容器是否存在-----------------------------------------------------------------"
containerps=$(docker ps -f name=resapi -q)
containerstop=$(docker ps -a -f name=resapi -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 resapiimage: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/AoJi.Res/


echo "重新生成------------------------------------开始-----------------------------"
dotnet build
echo "重新生成------------------------------------完成-----------------------------"

echo "项目发布-------------------------------------开始----------------------------"
dotnet publish --output /data/www/resapi.aojiedu.com/
echo "项目发布-------------------------------------完成----------------------------"

echo "转到项目发布目录-----------------------------------------------------------------"
cd /data/www/resapi.aojiedu.com/

echo "构建Docker镜像-------------------------------开始----------------------------------"
echo pwd
docker build -t resapiimage .
echo "构建Docker镜像-------------------------------完成----------------------------------"

echo "运行Docker容器-------------------------------------开始----------------------------"
docker run --name=resapi -p 5001:5001 -d resapiimage
echo "运行Docker容器------------------------------------完成-----------------------------"

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • SpringBoot压缩json并写入Redis的示例代码

    SpringBoot压缩json并写入Redis的示例代码

    由于业务需要,存入redis中的缓存数据过大,占用了10+G的内存,内存作为重要资源,需要优化一下大对象缓存,所以我们需要对json进行压缩,本文给大家介绍了SpringBoot如何压缩Json并写入redis,需要的朋友可以参考下
    2024-08-08
  • Java使用Graphics2D实现字符串文本自动换行

    Java使用Graphics2D实现字符串文本自动换行

    这篇文章主要为大家详细介绍了Java如何使用Graphics2D实现字符串文本自动换行,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2024-04-04
  • Spring Core核心类库的功能与应用实践分析

    Spring Core核心类库的功能与应用实践分析

    本文详细介绍了SpringCore核心类库的功能、应用实践和底层原理,SpringCore提供了控制反转(IOC)、依赖注入(DI)、Bean管理以及JNDI、定时任务等企业级功能,文章通过多个Java示例展示了SpringCore的应用,感兴趣的朋友跟随小编一起看看吧
    2024-12-12
  • Java实现通过时间获取8位验证码

    Java实现通过时间获取8位验证码

    这篇文章主要为大家详细介绍了Java如何通过时间获取8位验证码(每两个小时生成一个),文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-11-11
  • 基于Java生成GUID的实现方法

    基于Java生成GUID的实现方法

    本篇文章是对Java生成GUID的方法进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • 详解Mybatis拦截器安全加解密MySQL数据实战

    详解Mybatis拦截器安全加解密MySQL数据实战

    本文主要介绍了Mybatis拦截器安全加解密MySQL数据实战,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-01-01
  • Java中ReUtil正则表达式工具库的使用

    Java中ReUtil正则表达式工具库的使用

    ReUtil是Hutool库中的正则表达式工具类,提供了多种常用正则表达式操作方法,下面就来介绍一下ReUtil的使用,具有一定的参考价值,感兴趣的可以了解一下
    2025-02-02
  • Java递归遍历文件目录代码实例

    Java递归遍历文件目录代码实例

    这篇文章主要介绍了Java递归遍历文件目录代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-11-11
  • JAVA实现LRU算法的参考示例

    JAVA实现LRU算法的参考示例

    这篇文章主要介绍了JAVA实现LRU算法的参考示例,帮助大家根据需求实现算法,感兴趣的朋友可以了解下
    2020-10-10
  • Java enum 对枚举元素的赋值和取值方式

    Java enum 对枚举元素的赋值和取值方式

    这篇文章主要介绍了Java enum 对枚举元素的赋值和取值方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-05-05

最新评论