一、前言

  上一文章介绍了docker-compose,本文介绍Jenkins自动化部署。

二、Jenkins

dockerfile文件切记右键属性复制到输出目录调整为:如果较新则复制,否则在publish时无法将dockerfile文件发布 //2020-11-5 17:30分增加

拉取Jenkins镜像

docker pull jenkins/blueocean

但是这样是有问题的,因为jenkins的docker版本本身没有dotnetcore的环境,所以我们需要先自己动手制作下包含dotnet环境的jenkins的Docker的Container,

所以我们就先创建一个包含dotnetcore的自定义Jenkins镜像吧,已经有人创建好了,直接使用

docker run -u root --rm -d -p 8080:8080 --name jenkins2 \
-v /usr/bin/docker:/usr/bin/docker \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /home/dockerVolumes2/jenkins_home:/var/jenkins_home \
laozhangisphi/dnt-docker-jenkins

第一行表示启动一个容器名为Jenkins2的对外开放3001端口实例。

第二行表示将宿主机上面的docker命令行工具挂载到容器中,使jenkins用户能够执行docker命令。

第三行表示将宿主机上的docker.sock挂载到容器中的相应位置,使得容器中的dockercli能跟宿主机的docker通信。

第四行表示挂载我们创建的配置文件存放目录到指定的文件夹。

启动好了以后,就可以浏览器里正常的访问{ip}:8080端口了。

我们从页面也能看到,这里为了安全,需要一个超级管理员的密码,地址,就是在我们上边配置的文件夹下的文件里,请注意,这个文件夹是在容器里的,不是在我们的宿主机的,可以使用命令来查看:

在挂载目录下initialAdminPassword文件查看密码

这里首先可以左下角,看到Jenkins的版本,然后中间是两个选项,用来安装插件的,左边是默认常用的一些,右侧的是你可以自定义的一些插件,我们直接点击左侧的即可。

如果在安装插件的过程中,报错了,不用慌,你可以处理好,然后继续再执行一遍的,就算是Retry以后还不行,也可以Continue,安装好后,我们依然可以自定义安装插件:

安装插件后,没有问题,会跳转到用户配置页面,都是必填项。

当然,如果系统管理里有错误,我们可以手动安装和修改:

创建自由风格的软件项目

添加源代码管理

构建触发器 两分钟检测一次代码是否有更新

构建命令

#!/bin/bash -il

dotnet restore
dotnet build
dotnet publish cd /var/jenkins_home/workspace/WebTest/WebApplication2/bin/Debug/netcoreapp3.1/publish/
docker stop webtestcontainer
docker rm webtestcontainer
docker rmi webtest
docker build -t webtest .
docker run --name webtestcontainer -d -p 9000:80 webtest

保存 构建项目

然后就可以看到#18的构建状态变成了蓝色,如果报错是红色的。

如果有错误,你可以在控制台输出上看到内容。

到此jenkins的介绍就结束了,下一篇文章将介绍docker中的nginx代理。

最新文章

  1. [No00006A]Js的addEventListener()及attachEvent()区别分析【js中的事件监听】
  2. SQL Server 常用关键字
  3. c#中重定向windows控制台程序的输出信息
  4. AC_Dream 1224 Robbers(贪心)
  5. Codeforces 650B Image Preview
  6. oracle--varchar2
  7. RHCA学习笔记:RH442-Unit6 磁盘性能调整
  8. asp.net网站性能优化2则
  9. [欢度国庆]为什么我们今天还要学习和使用C++?(转载)
  10. cellForRowAtIndexPath方法不执行的那些坑
  11. JS学习笔记-数组
  12. 判断activity是否显示在界面上
  13. Raft 实现日志复制同步
  14. TLS 1.3 VS TLS 1.2,让你明白 TLS 1.3 的强大
  15. python小游戏
  16. JavaScript大杂烩6 - 理解JavaScript中的this
  17. SpringMVC集成MongoDb
  18. Mac 命令行安装 dmg文件
  19. java虚拟机---内存
  20. bzoj千题计划124:bzoj1036: [ZJOI2008]树的统计Count

热门文章

  1. C++11(列表初始化+变量类型推导+类型转换+左右值概念、引用+完美转发和万能应用+定位new+可变参数模板+emplace接口)
  2. Potree 002 Desktop开发环境搭建
  3. [常用工具] OpenCV获取网络摄像头实时视频流
  4. Hadoop详解(09) - Hadoop新特性
  5. ArcGIS工具 - 批量删除空图层
  6. 饮料换购【第六届蓝桥杯省赛C++A/C组,第六届蓝桥杯省赛JAVAB组】
  7. [LeetCode]杨辉三角 II
  8. [C#]简单的理解委托和事件
  9. Ubuntu 22.04 显示检测到窗口系统采用wayland协议
  10. Consumer接口-Consumer接口的默认方法andThen