关于Jenkins + Docker + ASP.NET Core自动化部署的问题(避免踩坑)

关于Jenkins+Docker+ASP.NET Core自动化部署的问题,可以分为以下几个步骤:

1. 安装Jenkins和Docker

在CentOS7系统下,可以通过如下命令安装Jenkins和Docker:

# 安装Jenkins
sudo yum install -y java-1.8.0-openjdk
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
sudo yum install -y jenkins

# 安装Docker
sudo yum install -y docker-ce
sudo systemctl start docker
sudo systemctl enable docker

2. 建立ASP.NET Core项目

在本地,可以通过使用Visual Studio、Visual Studio Code或者dotnet CLI等方式建立ASP.NET Core项目。建立好项目之后,可以通过如下命令进行项目的构建,生成可执行文件:

dotnet publish -c Release

3. 编写Jenkins脚本

在Jenkins控制台中,新建一个Jenkins任务,并在任务的配置页面中选择源码管理器为git,配置好git仓库地址和分支。此外,需要在Jenkins的全局工具配置中,配置好dotnet CLI的路径。

在该任务中,可以编写一个Jenkins脚本pipeline,对ASP.NET Core项目进行构建、打包、部署操作。一个简单的pipeline示例如下所示:

pipeline {
  agent {
    docker { 
        image "microsoft/dotnet:2-sdk" 
        args "-v /var/run/docker.sock:/var/run/docker.sock" 
    }
  }
  stages {
    stage('prepare') {
      steps {
        sh "git clone https://github.com/user/project.git"
        sh "cd project && dotnet restore"
      }
    }
    stage('build') {
      steps {
        sh "cd project && dotnet publish -c Release -o ../publish"
      }
    }
    stage('deploy') {
      steps {
        sh "cd publish && docker build --tag myapp ."
        sh "docker run --publish 80:5000 --detach --name myapp myapp"
      }
    }
  }
}

该脚本pipeline分为三个阶段:

  1. 第一阶段,从git仓库中拉取代码,并进行dotnet restore操作。
  2. 第二阶段,进行项目的编译发布操作,生成可执行文件。
  3. 第三阶段,使用Docker打包可执行文件,并启动容器进行部署。

4. 示例说明

  1. 示例一:本地构建项目,并上传到Docker Hub,然后在容器中运行

在本地,使用如下命令构建项目:

dotnet publish -c Release

生成可执行文件后,使用Docker打包并上传到Docker Hub:

docker build -t myapp .
docker tag myapp yourname/myapp:latest
docker push yourname/myapp:latest

然后,在线上服务器上,使用如下命令启动容器:

docker run -p 80:5000 -d --name myapp yourname/myapp:latest
  1. 示例二:使用Jenkins进行自动化部署

在Jenkins的控制台中,新建一个任务,并在任务配置页中选择源码管理器为git,配置好git仓库地址和分支。然后,在任务的配置页面中,添加一个pipeline脚本,根据之前的示例脚本进行编写。最后,在任务的Build Now页面中,点击“执行”按钮,即可开始自动化部署。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:关于Jenkins + Docker + ASP.NET Core自动化部署的问题(避免踩坑) - Python技术站

(0)
上一篇 2023年5月14日
下一篇 2023年5月14日

相关文章

  • ubuntu开启SSH服务远程登录操作的实现

    下面是关于“Ubuntu开启SSH服务远程登录操作的实现”的完整攻略,包含两条示例说明: 1. 安装SSH服务 Ubuntu默认没有安装SSH服务,所以需要先安装。在终端中输入以下命令: sudo apt update sudo apt install openssh-server 上述命令中第一个命令用于更新Ubuntu软件源,第二个命令是安装openss…

    Linux 2023年5月24日
    00
  • XenServer 虚拟机扩容LVM磁盘分区的方法

    当XenServer使用基于LVM的存储池时,可能会出现磁盘空间不足的情况。此时可以通过添加虚拟磁盘扩容LVM磁盘分区来解决空间问题。下面是具体步骤: 步骤一:创建虚拟磁盘 登录到XenServer的Web管理界面,在存储中创建一个虚拟硬盘(VHD),大小与需要扩容的磁盘空间相同。假设新磁盘为/dev/sdb,现将其扩容至50G,可通过以下命令创建一个大小为…

    Linux 2023年5月24日
    00
  • linux 配置本地yum源,配置国内yum源,配置epel源的步骤

    Linux配置本地yum源的步骤 准备工作 确定要解压的安装包的版本,下载”CentOS-7-x86_64-DVD-2003.iso”等镜像文件到本地. 确认yum解压安装包的安装路径,一般安装在”/opt/yum”目录下。 配置yum源 在安装路径下的”data”目录中新增一个目录”centos7″(自定义)。 将之前下载的“CentOS-7-x86_64…

    Linux 2023年5月14日
    00
  • 408操作系统-4.1文件系统基础 习题总结

    考点:文件的打开和读取 打开文件的过程:打开操作本质上是使用了open这个系统调用,参数如下图所示。操作系统通过文件的路径在外存中找到了这个test.txt文件所在的目录,继续找该文件的目录项(FCB),一个文件只有一个目录项。然后将这个目录项调到内存中,系统中有一个系统打开文件表,里面存放的是系统中所有打开文件的目录项,新调到内存中的目录项就会被复制到这个…

    Linux 2023年4月18日
    00
  • Linux服务器下Nginx与Apache共存的实现方法分析

    以下是“Linux服务器下Nginx与Apache共存的实现方法分析”的完整使用攻略,包含两个示例说明。 安装Nginx和Apache 打开终端。在Linux系统中,您可以通过下“Ctrl + T”组合键来打开终端。 更新软件包列表。在终端中输入以下命令: sudo apt-get update 安装Ngin服务器。在终端中输入以下命令: sudo apt-…

    Linux 2023年5月13日
    00
  • linux内网替换redhat-6.5为CentOS6.5操作

    下载CentOS6.5系统源 http://mirror.nsc.liu.se/centos-store/6.5/isos/x86_64/CentOS-6.5-x86_64-bin-DVD1.iso 下载CentOS6.5系统的yum组件 http://mirror.nsc.liu.se/centos-store/6.5/os/x86_64/Packages…

    Linux 2023年4月22日
    00
  • Linux折腾记(九):在Ubuntu 14中使用搜狗拼音输入法

    下面是详细的“Linux折腾记(九):在Ubuntu 14中使用搜狗拼音输入法”的攻略: 步骤一:下载并安装搜狗输入法 下载搜狗输入法的deb包(32位系统): wget http://cdn2.ime.sogou.com/dl/index/1588587477/sogoupinyin_2.2.0.0108_amd64.deb 注意:如果你的系统是64位的,…

    Linux 2023年5月30日
    00
  • Linux open命令

    Linux open命令的作用与使用方法 open命令是Linux和macOS系统中的一个命令行工具,它用于打开指定文件、目录或URL地址。open命令不仅可以快速打开文件,还可以调用系统默认的程序来打开文件,便于用户快速访问文件。下面我将详细介绍open命令的使用方法。 语法 open [-a 应用程序] [-b 包标识符] [-f] [-n] [-g] …

    Linux 2023年3月28日
    00
合作推广
合作推广
分享本页
返回顶部