Docker中安装Jenkins实时发布.net core 项目(二)

Docker中安装Jenkins实时发布.net core 项目

    • 防坑点
      • 升级docker
    • jenkins运行
      • 运行命令
    • jenkins拉取git并构建项目
    • 其他
      • 查看发布文件

防坑点

升级docker

首先我们要确认我们在liunx安装的不是1.31.1的docker容器不然在后面的运行中会报错

can not open /etc/sysconfig/docker

在这里插入图片描述
如果你是liunx下通过yum安装的docker并且版本为1.31.1
请先按照下述步骤升级docker至1.80以上版本再运行实例(此步骤不会删除容器和镜像放心升级)

//停止docker服务
service docker stop//查询已经安装的docker实例
yum list installed | grep docker//卸载安装实例
yum remove docker.x86_64//卸载安装实例
yum remove docker-client.x86_64//卸载安装实例
yum remove docker-common.x86_64

卸载
卸载完成后执行

使用curl安装最新版
curl -fsSL https://get.docker.com/ | sh重启Docker
systemctl restart docker设置Docker开机自启
systemctl enable docker

我们查看版本已经是最新的2.0了
2.0docker

jenkins运行

运行命令

这里我们可以开始jenkins构建了

我们首先执行命令:

docker run -u root --rm -d -p 8080:8080 --name dotnetjenkins2 \
-v /usr/bin/docker:/usr/bin/docker \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /etc/sysconfig/docker:/etc/sysconfig/docker \
-v /home/dockerVolumes2/jenkins_home:/var/jenkins_home \
xsw2014/net-jenkins:1.0
这句话第一行意思是用8080映射docker里面8080端口如果你想外网访问的时候用5050那么就修改为
5050:8080第二至第四行的意思是docker内部可以调用外部docker来进行打包,这是什么意思呢
应为jenkins实在docker容器内那么容器内是没法再使用docker命令打包的这个时候我们需要
第二至第四行的语句实现内部调用docker了第五行的意思为将本地的/home/dockerVolumes2/jenkins_home映射到/var/jenkins_home 
如果你后面dotnet publish了需要打包后的文件就可以到本地的/home/dockerVolumes2/jenkins_home查看了第六行是使用xsw2014/net-jenkins:1.0这个镜像如果你的不是这个镜像或者前面你按照你自己的构建的请将这里换成自己的

运行后我们可以进入容器内部查看sdk和docker git都可以 运行的
dotnet

jenkins拉取git并构建项目

我们选择一个自由风格的软件项目来构建
新建项目
我们选择git并在下面add输入登录账号和密码

测试源码地址:

https://gitee.com/ntr1996/dockertest.git

git
jenkinsgit
在最下面选择执行shell命令构建
执行shell
shell

命令如下


dotnet restore
dotnet build 
dotnet publish 
echo "Successfully!!!! ^ please see the file ."
pwd#docker stop helloworldcontainer
#docker rm helloworldcontainer
#docker rmi hello-world
docker build -t hello-world .
docker run --name helloworldcontainer -p 5000:80 -d hello-world
其中
dotnet restore 重新生成项目
dotnet build  重新构建项目
dotnet publish  打包项目
echo "Successfully!!!! ^ please see the file ." 打包成功输出Successfully
pwd  输出当前所在文件夹位置#docker stop helloworldcontainer  停止容器 第一次请注释第二次放开注释
#docker rm helloworldcontainer    删除容器 第一次请注释第二次放开注释
#docker rmi hello-world                 删除镜像 第一次请注释第二次放开注释docker build -t hello-world .     通过dodckerfile打包镜像注意最后有一个英文的小点
docker run --name helloworldcontainer -p 5000:80 -d hello-world  运行容器

然后我们点击build now 就开始构建了
构建开始

构件中

构建成功

最后我们通过网址访问

http://114.117.168.70:5000/weatherforecast

docker打包成功

其他

查看发布文件

有时候我们需要发布后的文件那肿么办呢
我们可以按下面来找到发布文件

docker run -u root --rm -d -p 8080:8080 --name dotnetjenkins2 \
-v /usr/bin/docker:/usr/bin/docker \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /etc/sysconfig/docker:/etc/sysconfig/docker \
-v /home/dockerVolumes2/jenkins_home:/var/jenkins_home \
xsw2014/net-jenkins:1.0

因为我们上述启动命令为-v /home/dockerVolumes2/jenkins_home:/var/jenkins_home
我们进入到 /home/dockerVolumes2/jenkins_home

cd /home/dockerVolumes2/jenkins_home
再进入workspace
cd workspace

dotnettest
进入和我们jenkins创建同名的文件夹下

cd /dotnettest/dockertest/bin/Debug/netcoreapp3.1/publish

如果你先打包的时候都压缩成一个压缩包可以在上述内容中添加一条压缩命令这里我就不写了
源码

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/410425.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

sharepoint 2010 timejob 注意

每次改代码,需要执行: net stop SPTimerV4net start SPTimerV4转载于:https://www.cnblogs.com/Forest-zhu/archive/2011/08/23/2150658.html

[html] 404页面有什么作用?

[html] 404页面有什么作用? 404页面实际上跟HTTP Status 404类似,标识资源找不到。当然实际上404页面现在的玩法就多了,比如公益页面等个人简介 我是歌谣,欢迎和大家一起交流前后端知识。放弃很容易, 但坚持一定很酷…

http get 消息的作用是什么?_http基础知识

什么是http?HTTP 全称是 HyperText Transfer Protocol,即:超文本传输协议,从 1990 年开始就在 WWW 上广泛应用,是现今在 WWW 上应用最多的协议,HTTP 是应用层协议,当你上网浏览网页的时候&#…

Jenkins构建 netcore5.0 项目时出现NU3028/NU3037错误的解决方案

我在使用Jenkins自动化部署项目的时候,出现了如下的错误 error NU3028: Package System.IO.Compression 4.3.0 from source https://api.nuget.org/v3/index.json: The repository primary signatures timestamp found a chain building issue: UntrustedRoot: self…

2019长安大学ACM校赛网络同步赛 L XOR

题意 求区间内有多少数x满足x^4x^5x0 1≤l≤r≤1018. 题解 根据异或的性质可以推到 x^4x5x -->x^4xx4x 即x和4x每一位都不同&#xff0c;即x和(x<<2)每一位都不同&#xff0c;就是x中每一位都与他前前一位不同。 那么就很简单了&#xff0c;可以很容易写出数位DP状态f…

[html] 通过设置表单的target=“_blank“来下载文件会被浏览器拦截吗?如何解决?

[html] 通过设置表单的target"_blank"来下载文件会被浏览器拦截吗&#xff1f;如何解决&#xff1f; 不用表单下载&#xff0c;动态创建一个a标签&#xff0c; 设置href, target"_self" 然后a.click() 最后移除个人简介 我是歌谣&#xff0c;欢迎和大家一…

贝塞尔曲线 总结

Bzier curve(贝塞尔曲线)是应用于二维图形应用程序的数学曲线。 曲线定义&#xff1a;起始点、终止点&#xff08;也称锚点&#xff09;、控制点。通过调整控制点&#xff0c;贝塞尔曲线的形状会发生变化。 1962年&#xff0c;法国数学家Pierre Bzier第一个研究了这种矢量绘制曲…

python变量标识符_简谈-Python的注释、变量类型、标识符及关键字

在Python程序中&#xff0c;要想支持中文输出&#xff0c;则要在代码前面添加标识符&#xff1a;开发人员在程序中自定义的一些符号和名称 标示符是自己定义的,如变量名 、函数名等 标识符的规则&#xff1a; 标示符由字目、下划线和数字组成&#xff0c;且数字不能开头 python…

win10使用docker desktop安装k8s一直starting解决方法

在docker中启动k8s一直卡在staring当中查了许多文档都写得不明不白的&#xff0c;研究了许久终于解决决定写个帖子来记录一下 1.首先查看本地docker中k8s的版本拉取源码 我们这里是1.19.7 然后我们进入到 k8s下载 去拉取k8s源码 git clone https://codechina.csdn.net/mirr…

python 字符串翻转

1. 使用字符串切片&#xff0c;步长设置为-1 1 # coding:utf-8 2 3 s “abcdefg123” 4 r s[::-1] 5 print(r) 2. 双端队列 1 # coding:utf-82 from collections import deque3 4 5 def string_reverse4(string):6 d deque()7 d.extendleft(string)8 print …

Android菜单详解(三)——SubMenu和IconMenu

我们在上一篇介绍了如何在Android中创建和响应选项菜单&#xff0c;今天我们将探索子菜单和图标菜单。 子菜单Sub Menu 子菜单提供了一种自然的组织菜单项的方式&#xff0c;它被大量地运用在windows和其他OS的GUI设计中。Android同样支持子菜单&#xff0c;你可以通过addSubMe…

[html] HTML5如何监听video的全屏和退出全屏?

[html] HTML5如何监听video的全屏和退出全屏&#xff1f; 监听fullscreenchange事件document.addEventListener(fullscreenchange, (event) > {// document.fullscreenElement will point to the element that// is in fullscreen mode if there is one. If there isnt one…

python程序代码解析_Python源码分析3 – 词法分析器PyTokenizer

Introduction 上次我们分析了Python中执行程序可分为5个步骤&#xff1a; Tokenizer进行词法分析&#xff0c;把源程序分解为Token Parser根据Token创建CST CST被转换为AST AST被编译为字节码 执行字节码 本文将介绍Python程序执行的第一步&#xff0c;也就是词法分析。词法分析…

模板 - 快速沃尔什变换

空 转载于:https://www.cnblogs.com/Yinku/p/11253632.html

Liunx下使用Nginx负载均衡

我是centos8得主机 安装命令: yum install nginx 如果为Ubuntu主机 sudo apt-get install nginx 安装完成后&#xff0c;启用并启动Nginx服务&#xff1a; sudo systemctl enable nginxsudo systemctl start nginx 然后我们有2个服务&#xff1a; 一个地址为: http://xx…

[html] HTML5的video在手机端如何实现进来页面时就自动播放?

[html] HTML5的video在手机端如何实现进来页面时就自动播放&#xff1f; 理想情况autoplaytrue。但是现实是&#xff1a;基本所有浏览器都屏蔽了这个属性。 能实现的现在只有微信了&#xff0c;微信有一套自己的规则的内核&#xff0c;可以使用&#xff1a;controlslist"…

用python写helloworld_Python Helloworld程序简单实现

对于一个学习过编程语言的朋友来说&#xff0c;肯定会对Helloworld这一词汇记忆深刻。几乎在学习语言初期&#xff0c;我们都会通过这一简单的小程序来对编程语言有一个深入的了解。那么今天就为大家介绍一下Python Helloworld程序的实现方法。 在开始Python Helloworld程序的创…

RO38 –比较RemObjects SDK 通道

本文汇总了RemObjects SDK提供的通道:最通用的通道1) HTTP 通道:使用www超文本传输协议的灵活,网络无关的通信. 2) Super TCP 通道: 在客户端服务端灵活通用的双向传输. 3) Super HTTP 通道- new in Vinci常用的通道Frequently used channels 4) 以前的TCP通道: 通过TCP实现轻量…

java实现自动登录,并获取数据

为抓取 web的一些隐私数据&#xff0c;需要先登录&#xff0c;然后才能获取这些数据&#xff0c;用程序来实现&#xff0c;就需要实现自动登录&#xff0c;然后将登录信息保存在Cookie中&#xff0c;以便取得数据时&#xff0c;无须再次登录。以网易邮箱为例&#xff1a;所需ja…

如何给微软提反馈建议以及bug

1.相信各位在使用.net core的过程中多多少少遇到了bug和为解决的坑那么我们肿么联系微软反馈问题你 1.找到vs编辑器中的反馈按钮 2.点击进入网址 如果是vs的问题选择visual studio栏目,如果为编译问题或者其他问题请选择对应的栏目 然后写下你的问题和截图&#xff0c;尽量详…