关于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日

相关文章

  • linux sed在某些字符串的下一行插入内容?sed在下一行插入?

    需求描述:   今天在配置nrpe的时候,使用到了在搜索到某些字符串之后,然后在字符串的下一行进行插入字符串   在此记录下如何实现.   即通过sed的a命令实现内容的追加. 操作过程: 1.查看原文件中的内容 [root@testvm02 ~]# cat nrpe.cfg #command[check_users]=/usr/local/nagios/l…

    Linux 2023年4月11日
    00
  • Ubuntu Linux 上安装TomCat的过程

    1. 从TomCat官网上下载二进制安装包,http://tomcat.apache.org/download-70.cgi。我下载到是apache-tomcat-7.0.39.tar.gz。2. 我按照这里http://www.linuxidc.com/Linux/2011-08/40787p2.htm所讲的来安装到。3. 将apache-tomcat-7…

    Linux 2023年4月11日
    00
  • linux下卸载vmware产品的方法

    Linux下卸载VMware产品的方法 在Linux系统下,卸载VMware产品可以通过以下步骤完成: 1. 关闭所有VMware相关进程 打开终端,执行以下命令关闭所有VMware相关进程: sudo /etc/init.d/vmware stop 或 sudo systemctl stop vmware.service sudo systemctl st…

    Linux 2023年5月24日
    00
  • Linux ALSA框架之七:ASoC架构中的Codec

    1. Codec简介 在移动设备中,Codec的作用可以归结为4种,分别是:  对PCM等信号进行D/A转换,把数字的音频信号转换为模拟信号 对Mic、Linein或者其他输入源的模拟信号进行A/D转换,把模拟的声音信号转变CPU能够处理的数字信号 对音频通路进行控制,比如播放音乐,收听调频收音机,又或者接听电话时,音频信号在codec内的流通路线是不一样的…

    Linux 2023年4月17日
    00
  • linux使用汇总

    linux使用汇总 Linux的目录结构 没有逻辑磁盘分区(C盘、D盘…) 是一棵树形结构,根目录是/ 根目录下边有几个文件夹,需要我们了解: /etc:配置文件所在的文件夹。比如:安装JDK,配置环境变量,就要修改/etc/profile文件 /usr:unix shared resource,系统共享资源文件夹。我们安装软件通常安装在:/usr/lo…

    2023年4月8日
    00
  • Linux输入子系统(转)

      Linux输入子系统(Input Subsystem) 1.1.input子系统概述 输入设备(如按键,键盘,触摸屏,鼠标等)是典型的字符设备,其一般的工作机制是低层在按键,触摸等动作发生时产生一个中断(或驱动通过timer定时查询),然后cpu通过SPI,I2C或者外部存储器总线读取键值,坐标等数据,放一个缓冲区,字符设备驱动管理该缓冲区,而驱动的re…

    Linux 2023年4月11日
    00
  • Centos 6.5 服务器优化配置备忘(一些基础优化和安全设置)

    一、关闭不必要服务和卸载不必要软件 在Centos6.5服务器中,为了避免不必要的安全风险,我们需要关闭一些不必要的服务和卸载一些不必要的软件。可以通过执行以下命令来实现: # 关闭http服务 $ service httpd stop $ chkconfig httpd off # 卸载不必要软件 $ yum remove -y sendmail xine…

    Linux 2023年5月14日
    00
  • LINUX 常见问题1000个详细解答

    “LINUX常见问题1000个详细解答”完整攻略 什么是“LINUX常见问题1000个详细解答”? “LINUX常见问题1000个详细解答”是一本关于Linux操作系统中常见问题及其解决方法的书籍。该书籍涵盖了Linux中各种应用场景下可能遇到的问题,包括但不限于安装、配置、网络、文件处理、软件安装等方面,同时提供详细的解答和操作步骤,以帮助用户解决问题。 …

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