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了

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都可以 运行的

jenkins拉取git并构建项目

我们选择一个自由风格的软件项目来构建

我们选择git并在下面add输入登录账号和密码

测试源码地址:

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



在最下面选择执行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 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


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

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

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

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

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

    Docker中安装Jenkins实时发布.net core 项目 安装docker 懒人篇 手动安装 dockerfile安装jenkins 常规安装jenkins jenkins的安装 搜索jenk ...

  2. Docker中的“公开”和“发布”有什么区别?

    本文翻译自:What is the difference between "expose" and "publish" in Docker? I'm exper ...

  3. docker中安装nacos报错 com.alibaba.nacos.shaded.io.grpc.StatusRuntimeException: UNAVAILABLE: io exception

    docker中安装nacos报错 com.alibaba.nacos.shaded.io.grpc.StatusRuntimeException: UNAVAILABLE: io exception ...

  4. Docker中安装DB2的详细教程和DBVisualize的安装教程

    时间 内容 备注 2018年12月15日日 基本使用 Docker中安装DB2 由于新的项目中使用到了DB2的数据处理:这里记录一下基本的基础环境搭建.个人使用的Docker的搭建方案:本来是很简单的 ...

  5. ubuntu docker一键安装mysql_mysql5.6在ubuntu下的docker中安装的办法详细说明

    软件安装:装机软件必备包 SQL是Structured Query Language(结构化查询语言)的缩写.SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言.在使用它时,只需要发出& ...

  6. jenkins学习笔记2-在centos中安装jenkins master测试环境

    在centos中安装jenkins 1)安装目录 pwd (/home/AAA) 2)检查java是否安装 [AAA@Centos_AAA jenkins]$ java -version java v ...

  7. 在Docker中安装和部署MongoDB集群

    在Docker中安装和部署MongoDB集群 - tianshidan1998 - 博客园

  8. docker安装启动mysql5.6_mysql5.6在ubuntu下的docker中安装的方法详解

    这篇文章主要介绍了ubuntu下在docker中安装mysql5.6 的方法,需要的朋友可以参考下 1.安装mysql5.6docker run mysql:5.6 等所有项目都是Download c ...

  9. 在Docker中安装Home Assistant系统(以群晖系统为例)【Home Assistant入门安装篇1-2】

    Home Assistant入门1-2:在Docker中安装Home Assistant系统(以群晖系统为例) 写在前面 我在家装有一个PVE虚拟机,里面装有一个黑群晖,最近在学习Home Assis ...

最新文章

  1. 初入职场的我怎么就成了个打杂的,我是这样破局的 No.146
  2. 项目支出数据产生过程
  3. 微软代码签名证书使用指南
  4. 使用aotupep8自动批量调整代码以符合PEP-8规范
  5. 强化学习(五)---基于模型的强化学习实战
  6. SQL SELECT DISTINCT 语句 用法
  7. 解决DataGridView绑定List后不能排序的问题
  8. linux下IPROTO_TCP,TCP/IP协议栈在Linux内核中的运行时序分析
  9. Java NIO群聊系统
  10. 使用mysql导入数据
  11. 图解R树的原理及相关操作
  12. 分布式事务处理框架之LCN
  13. 香农公式说明了什么_香农定理到底有什么含义?能通俗地解释一下么?
  14. 五子棋PVP项目总结
  15. 从qq服务器删除误收邮件,QQ邮箱撤回时显示撤回失败,对方已读 收件箱里的消息却是对方已阅读或已删除 这种情况下邮件有没有被删除...
  16. 维谛技术(Vertiv):致力于“新基建”的数字基石
  17. ElasticSearch之TermQuery和MatchQuery
  18. 新手学习【菜鸟教程】Python CGI编程的几个坑(Windows系统)
  19. 解释下什么是最小二乘法
  20. 选择消失,仅仅因一千个伤心的理由

热门文章

  1. Taro+react开发(90):列表渲染key值
  2. Taro+react开发(89):封装为一个函数渲染
  3. 25利他行为可以学习和模仿吗
  4. [js] 写一个格式化时间的方法
  5. 前端学习(1899)vue之电商管理系统电商系统之渲染添加用户的表单
  6. spring mvc学习(49):返回json数据
  7. 第一百二十六期:代码以外的生存之道,献给每位入了坑的码农
  8. 玩转oracle 11g(32):plsql版本低需到配置文件中添加配置
  9. java学习(99):车站卖票问题
  10. 错误解决:常出现在iis搭建网站